/* VK portfolio — версия 1.0. Чистый CSS, без библиотек. */
:root{--bg:#0c1119;--panel:#131a25;--panel2:#181f2a;--line:#27313d;--text:#f3f6fa;--muted:#a3afbc;--dim:#6f7d8c;--accent:#c7fa68;--accent2:#73c8ef;--radius:18px;--shell:1180px}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:85px;overflow-x:clip}
body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;overflow-x:clip}
a{color:inherit;text-decoration:none}button{font:inherit}button,a{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}::selection{background:var(--accent);color:#0b1118}
.shell{width:min(var(--shell),calc(100% - 64px));margin-inline:auto}.lime,.highlight{color:var(--accent)}.highlight{font-style:italic;font-family:Georgia,serif;font-weight:400}.skip-link{position:fixed;top:-70px;left:24px;z-index:100;padding:10px 20px;background:var(--accent);color:#10161d}.skip-link:focus{top:16px}
.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(110px);opacity:.25;z-index:-1}.ambient--one{height:360px;width:360px;right:0;top:80px;background:#376d93}.ambient--two{height:250px;width:250px;left:0;top:500px;background:#678b3a}
.site-header{height:84px;position:sticky;top:0;z-index:30;background:rgba(12,17,25,.85);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.nav-wrap{height:100%;display:flex;align-items:center;gap:40px}.brand{display:inline-flex;gap:13px;align-items:center;white-space:nowrap}.brand__mark{font-weight:900;letter-spacing:-.105em;font-size:31px;line-height:1}.brand__dot{color:var(--accent)}.brand__words{font-size:10px;line-height:1.35;letter-spacing:.2em;font-weight:800;max-width:95px}.brand__words span{color:var(--accent)}.nav{display:flex;align-items:center;gap:32px;margin-left:auto}.nav a{color:#aebaca;font-weight:600;font-size:13px;transition:color .2s}.nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:15px}.lang-switch{background:none;border:0;cursor:pointer;font-size:12px;letter-spacing:.1em;font-weight:800;color:var(--text);padding:8px}.lang-switch span{color:var(--accent);margin-left:3px}.button{display:inline-flex;gap:25px;align-items:center;justify-content:center;border-radius:7px;min-height:56px;padding:14px 25px;font-size:14px;font-weight:800;letter-spacing:.01em;transition:transform .25s,background .25s;white-space:nowrap}.button:hover{transform:translateY(-3px)}.button--primary{background:var(--accent);color:#111923}.button--primary:hover{background:#d8ff96}.button--tiny{min-height:38px;padding:7px 17px;background:#202a36;border:1px solid #323d48;font-size:12px}.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px}
.hero{min-height:670px;display:grid;grid-template-columns:1fr .92fr;gap:35px;align-items:center;position:relative;padding-top:52px;padding-bottom:95px}.hero__copy{z-index:2}.eyebrow,.kicker{color:var(--accent);font-size:11px;letter-spacing:.22em;font-weight:800;margin:0 0 24px}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow__line{width:24px;height:1px;background:var(--accent)}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}h1{font-size:clamp(49px,5.7vw,83px);letter-spacing:-.067em;margin:0;max-width:700px;font-weight:850}h2{font-size:clamp(36px,4vw,58px);letter-spacing:-.055em;margin:0}h3{font-size:23px;letter-spacing:-.035em}.hero__lead{max-width:510px;color:var(--muted);font-size:17px;line-height:1.8;margin:26px 0 31px}.hero__buttons{display:flex;align-items:center;gap:33px;flex-wrap:wrap}.text-link{font-size:14px;font-weight:700;color:#e1e8f2;display:inline-flex;gap:13px;align-items:center}.text-link span:last-child{color:var(--accent)}.text-link:hover{color:var(--accent)}.hero__facts{display:flex;margin-top:74px;gap:27px}.fact{display:flex;flex-direction:column;padding-right:30px;border-right:1px solid var(--line);max-width:190px}.fact:last-child{border:0}.fact strong{font-size:30px;line-height:1;font-weight:800;letter-spacing:-.06em}.fact>span{font-size:11px;color:var(--muted);margin-top:11px;line-height:1.5}.hero-scroll{position:absolute;bottom:24px;left:0;display:flex;gap:14px;align-items:center;font-size:10px;font-weight:800;color:var(--dim);letter-spacing:.2em}.hero-scroll__line{display:block;width:34px;height:1px;background:var(--dim)}
.hero__art{height:525px;position:relative;display:grid;place-items:center;isolation:isolate}.orbit{position:absolute;border:1px solid rgba(114,154,193,.15);border-radius:50%;pointer-events:none}.orbit--large{width:505px;height:505px}.orbit--small{width:365px;height:365px}.browser{position:relative;border:1px solid #4a5b6b;border-radius:13px;box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden}.browser--main{width:100%;max-width:485px;transform:rotate(-3deg);z-index:1}.browser__bar{height:32px;background:#252d3a;display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:15px;font-size:12px;color:#8f9fb0}.browser__dots{display:flex;gap:5px}.browser__dots i{height:7px;width:7px;border-radius:50%;background:#626e7f}.browser__dots i:first-child{background:#ff807c}.browser__dots i:nth-child(2){background:#ffd277}.browser__dots i:nth-child(3){background:#9bdd84}.browser__url{font-size:10px;letter-spacing:.04em}.browser__site{height:345px;background:linear-gradient(130deg,#19354d,#121d2e 65%,#0f1b28);padding:27px 31px;position:relative;overflow:hidden}.mock-nav{position:relative;display:flex;justify-content:space-between;z-index:2;font-size:16px;font-weight:850;letter-spacing:-.07em}.mock-nav b{font-size:9px;letter-spacing:.1em}.mock-pill{z-index:2;position:relative;display:inline-block;margin-top:38px;font-size:8px;border:1px solid #607f86;color:#d3ecde;border-radius:20px;padding:5px 10px;letter-spacing:.1em}.mock-heading{position:relative;z-index:2;font-size:50px;line-height:.98;font-weight:850;letter-spacing:-.07em;margin-top:10px}.mock-heading span{color:var(--accent)}.mock-cta{position:relative;z-index:2;display:inline-flex;align-items:center;gap:15px;margin-top:22px;border-bottom:1px solid var(--accent);padding-bottom:6px;font-size:9px;letter-spacing:.11em;font-weight:750}.mock-shape{position:absolute;border-radius:50%;filter:blur(1px)}.mock-shape--1{height:245px;width:245px;right:-85px;top:110px;background:linear-gradient(135deg,#c7ff65 0%,#598f9a 45%,#1c4056 85%);transform:rotate(-40deg);box-shadow:-30px 30px 90px #7db6ae55}.mock-shape--2{height:125px;width:125px;right:72px;top:190px;border:2px solid #e7faaf;background:#12334588}.mock-grid{position:absolute;inset:0;opacity:.09;background-image:linear-gradient(90deg,#fff 1px,transparent 1px),linear-gradient(#fff 1px,transparent 1px);background-size:36px 36px}.floating-chip,.code-card{position:absolute;z-index:3;border:1px solid #415365;box-shadow:0 20px 45px #0008;background:#1c2835;backdrop-filter:blur(10px)}.floating-chip{border-radius:8px;padding:11px 14px;font-size:11px;font-weight:800;white-space:nowrap}.floating-chip--top{left:0;top:40px;transform:rotate(-7deg)}.floating-chip--top i{font-style:normal;color:#687787;margin:0 5px}.floating-chip--bottom{right:-15px;bottom:33px;transform:rotate(4deg)}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #c7fa681f;margin-right:8px}.code-card{border-radius:11px;left:-24px;bottom:52px;width:265px;transform:rotate(5deg);overflow:hidden}.code-card__heading{display:flex;align-items:center;padding:11px 15px;border-bottom:1px solid #3a4654;font-size:11px;color:#c4cfda}.code-card__check{margin-left:auto;color:var(--accent)}.code-card code{display:block;color:#e4ebf1;font:12px/1.95 Consolas,monospace;padding:15px 19px}.code-purple{color:#c9a0ff}.code-green{color:var(--accent)}.code-blue{color:#81c9ee}.code-comment{color:#758699}
.section-block{padding:115px 0}.projects{background:linear-gradient(180deg,#101722,#101722 65%,#0f1620)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:43px}.section-head .kicker{margin-bottom:17px}.section-head__aside{color:var(--muted);max-width:360px;margin:0 0 3px;font-size:14px;line-height:1.8}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filter-chip{background:transparent;border:1px solid #34404d;border-radius:50px;color:#a9b5c3;padding:10px 18px;font-size:12px;font-weight:750;cursor:pointer;transition:all .2s}.filter-chip:hover{color:#fff;border-color:#697c85}.filter-chip.is-active{color:#141b22;background:var(--accent);border-color:var(--accent)}.filter-count{font-size:10px;margin-left:4px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.project-card{background:#17212d;border:1px solid #2c3947;border-radius:13px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}.project-card:hover{transform:translateY(-7px);border-color:#648087}.project-card__visual{height:216px;background:radial-gradient(circle at 75% 20%,var(--visual-glow),transparent 50%),var(--visual-bg);position:relative;overflow:hidden;padding:20px}.project-card__visual::before{content:"";position:absolute;width:210px;height:210px;top:70px;right:-75px;border:1px solid #ffffff36;border-radius:50%}.preview-window{width:85%;max-width:300px;position:relative;left:50%;transform:translateX(-50%) rotate(-5deg);top:13px;height:200px;border:1px solid #a5b6ce6f;border-radius:8px;background:#f6f7f8;box-shadow:0 20px 25px #0006;overflow:hidden}.preview-bar{background:#e0e4e9;height:21px;display:flex;align-items:center;gap:4px;padding-left:10px}.preview-bar i{height:5px;width:5px;border-radius:50%;background:#8b96a3}.preview-page{height:180px;background:linear-gradient(130deg,#f8fafc,#e8edf2);padding:14px}.preview-page__nav{height:10px;display:flex;justify-content:space-between;align-items:center}.preview-page__brand{font-size:11px;line-height:1;font-weight:900;color:var(--visual-ink);letter-spacing:-.05em}.preview-page__links{height:3px;width:62px;background:#9ba8b6;border-radius:2px}.preview-page__columns{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}.preview-page__title{color:#27394d;font-size:18px;line-height:1.1;letter-spacing:-.06em;font-weight:900;max-width:130px}.preview-page__text{height:5px;border-radius:3px;background:#a1adbd;max-width:96px;margin-top:8px}.preview-page__text--short{max-width:66px}.preview-page__button{background:var(--visual-ink);width:69px;height:17px;border-radius:3px;margin-top:12px}.preview-page__art{width:94px;height:83px;border-radius:12px 50% 20% 35%;background:linear-gradient(140deg,var(--visual-ink),var(--visual-glow));transform:rotate(14deg);flex-shrink:0}.project-card__category{position:absolute;left:18px;top:18px;background:#0f1728ce;color:#ebf4fc;font-size:10px;letter-spacing:.09em;font-weight:800;border-radius:4px;padding:6px 10px;z-index:2}.project-card__body{padding:23px 24px 25px;display:flex;flex-direction:column;flex:1}.project-card__meta{font-size:10px;color:#96a9b8;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.project-card h3{margin:8px 0 10px;font-size:22px}.project-card__description{color:#aebac8;font-size:13px;line-height:1.8;margin:0 0 21px;flex:1}.project-card__bottom{border-top:1px solid #31404f;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.project-card__detail{background:none;border:0;padding:3px 0;color:var(--accent);font-weight:750;font-size:12px;cursor:pointer}.project-card__link{font-weight:750;font-size:12px;color:#d8e5ed}.project-card__link:hover{color:var(--accent)}.project-note{font-size:12px;color:#8193a5;margin:24px 0 0}
.services{background:#0d131d}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{min-height:330px;border:1px solid var(--line);background:#141c27;border-radius:12px;padding:31px;display:flex;flex-direction:column;position:relative;overflow:hidden}.service-card::after{content:"";position:absolute;bottom:-160px;right:-160px;width:230px;height:230px;border:1px solid #b7f76a22;border-radius:50%}.service-card__number{font-size:12px;color:var(--dim);font-weight:700}.service-icon{font-size:35px;color:var(--accent);margin-top:24px;line-height:1}.service-card h3{margin:18px 0 10px}.service-card p{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 25px}.service-card__tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.service-card__tags span{font-size:10px;border:1px solid #374352;border-radius:4px;padding:5px 8px;color:#bdd0dc}
.about{background:#111925}.about-grid{display:grid;grid-template-columns:.9fr 1fr;gap:86px;align-items:center}.about-visual{min-height:470px;background:radial-gradient(circle at 48% 50%,#233d4b,#152534 53%,#11202e);border:1px solid #39515d;border-radius:14px;position:relative;display:grid;place-items:center;overflow:hidden}.about-visual::before{content:"";position:absolute;inset:20px;border:1px solid #4c6e6442;border-radius:50%;transform:scale(1.4)}.about-visual__center{font-size:58px;font-weight:850;letter-spacing:-.07em;color:#f0f5fc;transform:rotate(-6deg);z-index:1}.about-visual__center span{color:var(--accent)}.about-visual__corner{font:10px Consolas,monospace;letter-spacing:.14em;color:#acbac7;position:absolute;left:28px}.about-visual__corner--top{top:26px}.about-visual__corner--bottom{bottom:26px}.about-visual__orbit{height:245px;width:245px;border:1px solid #d6f9a388;border-radius:50%;position:absolute;transform:rotate(25deg) scaleX(.65)}.about-copy .kicker{margin-bottom:19px}.about-copy>p:not(.kicker){color:var(--muted);font-size:14px;line-height:1.9}.about-copy .about-lead{font-size:18px!important;color:#e1eaf1!important;margin:25px 0 10px}.milestones{margin-top:29px;border-top:1px solid #31404a}.milestones>div{display:grid;grid-template-columns:60px 1fr;gap:20px;border-bottom:1px solid #31404a;padding:15px 0}.milestones span{color:var(--accent);font-size:13px;font-weight:850}.milestones p{font-size:12px;line-height:1.7;color:#abb9c5;margin:0}
.contact{padding-bottom:90px;background:#0d131d}.contact-panel{padding:59px 66px 65px;border:1px solid #546c55;border-radius:15px;background:radial-gradient(circle at 100% 20%,#28493f,#14222a 44%,#17242e 80%);position:relative;overflow:hidden}.contact-panel::after{content:"";position:absolute;width:260px;height:260px;border:1px solid #b6ef7566;border-radius:50%;right:-110px;bottom:-120px}.contact-panel__top{display:flex;align-items:center;justify-content:space-between}.contact-panel__star{font-size:40px;color:var(--accent)}.contact-panel h2{font-size:clamp(39px,4.8vw,70px);margin:12px 0 23px}.contact-panel>p{color:#b5c7cc;max-width:630px;font-size:15px;line-height:1.9}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin-top:28px}.contact-placeholder{border:1px dashed #6b8179;padding:14px 20px;color:#b6c7bf;font-size:13px;border-radius:7px}.footer{border-top:1px solid #26323e;padding:25px 0;background:#0a1017}.footer-inner{display:flex;gap:23px;align-items:center;justify-content:space-between;flex-wrap:wrap}.footer-inner>span,.footer-inner>a:last-child{color:#91a0ac;font-size:11px}.footer__disclaimer{max-width:330px}.brand--footer .brand__mark{font-size:23px}.brand--footer .brand__words{font-size:8px}
.project-dialog{width:min(650px,calc(100% - 32px));max-height:85vh;border:1px solid #4d6975;border-radius:16px;background:#151f2c;color:var(--text);box-shadow:0 30px 100px #000b;padding:33px;overflow-y:auto}.project-dialog::backdrop{background:#03070cbb;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-top .kicker{margin:0}.dialog-close{border:1px solid #4c5b68;border-radius:6px;background:#23303f;color:#fff;padding:8px 13px;cursor:pointer}.project-dialog h3{font-size:37px;margin:0 0 8px}.dialog-category{font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.05em}.dialog-description{color:#b6c5d2;margin:23px 0}.dialog-label{color:var(--accent);font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.12em;margin:20px 0 7px}.dialog-points{margin:0 0 25px;padding-left:20px;color:#c9d5df}.dialog-points li{margin:7px 0}.dialog-footer{border-top:1px solid #3b4a57;padding-top:24px;display:flex;gap:20px;flex-wrap:wrap;align-items:center}.dialog-clarification{font-size:12px;color:#9aabb9}.is-hidden{display:none!important}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:1150px){.hero{grid-template-columns:1fr 1fr}.hero__art{transform:scale(.9)}.floating-chip--top{left:-20px}.section-block{padding:90px 0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:35px}.nav-wrap{gap:25px}.nav{gap:20px}}
@media(max-width:780px){.shell{width:min(var(--shell),calc(100% - 38px))}.site-header{height:72px}.nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;background:#111b27;border-bottom:1px solid #31404c;padding:18px 25px;gap:0}.nav.is-open{display:flex}.nav a{padding:13px;border-bottom:1px solid #263441}.menu-toggle{display:block}.header-cta{display:none}.hero{grid-template-columns:1fr;padding-top:54px;gap:0;padding-bottom:100px}.hero__art{margin-top:28px;width:min(500px,100%);justify-self:center;transform:none}.hero__copy{z-index:4}.hero__facts{margin-top:48px}.hero__art{height:475px}.section-head{display:block}.section-head__aside{margin-top:22px}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{min-height:275px}.about-grid{grid-template-columns:1fr}.about-visual{min-height:330px}.about-visual__center{font-size:47px}.contact-panel{padding:37px 27px 43px}.contact-panel__star{font-size:25px}}
@media(max-width:530px){h1{font-size:clamp(46px,12vw,65px)}h2{font-size:36px}.hero{padding-top:40px}.hero__lead{font-size:15px}.hero__facts{gap:8px}.fact{padding-right:12px;flex:1}.fact strong{font-size:24px}.fact>span{font-size:10px}.hero__buttons{gap:23px}.hero__art{height:340px;transform:scale(.73);width:135%;margin-left:-17.5%;margin-top:0;margin-bottom:-25px}.orbit--large{height:425px;width:425px}.browser--main{max-width:405px}.browser__site{height:300px}.mock-heading{font-size:44px}.floating-chip--top{top:25px;left:4px}.floating-chip--bottom{right:0;bottom:-18px}.code-card{bottom:15px;left:1px}.project-grid{grid-template-columns:1fr}.filter-bar{gap:8px}.filter-chip{font-size:11px;padding:8px 11px}.section-block{padding:75px 0}.about-visual{min-height:280px}.about-visual__center{font-size:42px}.contact-panel h2{font-size:clamp(35px,10vw,51px)}.contact-actions{gap:22px}.footer-inner{gap:15px}.project-dialog{padding:23px}.project-dialog h3{font-size:30px}}

/* Kontaktinformationen – V2 */
.contact-details{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:22px;color:#e2eaf1;font-size:14px}.contact-details a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.contact-details [hidden]{display:none!important}

/* Language switcher and legal footer */
.language-options {display:inline-flex;align-items:center;gap:3px;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:3px;background:rgba(255,255,255,.04)}
.language-options button {background:transparent;color:inherit;border:0;border-radius:999px;padding:7px 9px;cursor:pointer;font:inherit;font-size:12px;font-weight:700;line-height:1.2}
.language-options button.is-current {background:#c6f56c;color:#0c1119}
.language-options button:focus-visible {outline:2px solid #c6f56c;outline-offset:3px}
.footer__legal {display:inline-flex;gap:16px;flex-wrap:wrap}
.footer__legal a {color:inherit;text-decoration:underline;text-underline-offset:4px}
.legal-content {max-width:850px;margin:110px auto 80px;padding:0 24px;line-height:1.75}
.legal-content h1 {font-size:clamp(2rem,5vw,3.8rem);line-height:1.15;margin-bottom:32px}
.legal-content h2 {font-size:1.35rem;margin:32px 0 12px}
.legal-content p,.legal-content li {margin:10px 0;color:inherit}
.legal-warning {border:1px solid #e3ad57;padding:20px;border-radius:12px;margin:25px 0}
@media(max-width:680px){.language-options button{padding:6px 7px;font-size:11px}.footer__legal{gap:12px}}
