/* Open Sans (OFL), вариативный 300–800, файлы в fonts/ — с Google Fonts */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url(fonts/open-sans-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url(fonts/open-sans-latin.woff2) format('woff2');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{--bg:#020c20;--text:#f2f7ff;--muted:#b2bdd0;--cyan:#04d6e9;--line:#39526f;--font:"Open Sans","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:radial-gradient(ellipse at 89% 28%,#00224975,transparent 50%),linear-gradient(125deg,#010817,#02102b 60%,#02112d);color:var(--text);font:14px/1.5 var(--font);min-width:320px}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}::selection{background:var(--cyan);color:#00152b}.container{width:min(1180px,calc(100% - 104px));margin-inline:auto}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.background-grid{position:absolute;inset:90px 0 auto;height:680px;pointer-events:none;z-index:-1;background:linear-gradient(90deg,transparent 49.85%,#09548530 50%,transparent 50.15%),linear-gradient(transparent 49.85%,#09548520 50%,transparent 50.15%);background-size:112px 112px;mask-image:linear-gradient(transparent,#0009,transparent)}.header{width:min(1230px,calc(100% - 80px));margin:auto;height:86px;display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative;z-index:10}.brand{display:flex;gap:19px;align-items:center;white-space:nowrap}.brand strong{font-size:20px;font-weight:600}.desktop-nav{display:flex;gap:28px;align-items:center}.desktop-nav a{font-size:12px;padding:15px 0;color:#d8dfed;position:relative;transition:color .25s}.desktop-nav a:hover,.desktop-nav a.active{color:#31dce6}.desktop-nav a.active:after{content:'';position:absolute;bottom:3px;left:15%;right:15%;height:1px;background:var(--cyan);box-shadow:0 0 13px 2px #00c9dc77}.header-actions{display:flex;align-items:center;gap:18px}.cv-button{display:flex;align-items:center;gap:9px;border:1px solid #40537088;border-radius:30px;background:#091629;padding:9px 20px;font-size:12px;white-space:nowrap;box-shadow:inset 0 0 8px #39768c14}.cv-button .icon{color:var(--cyan);width:16px;height:16px}.icon-button{width:36px;height:36px;border:1px solid #26395466;border-radius:50%;display:grid;place-items:center;background:#111d32;color:#b7c9df;padding:8px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:43% 57%;height:565px;position:relative}.hero-copy{padding:43px 0 36px 17px;position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:11px;padding:5px 13px;border-radius:20px;border:1px solid #1c45534a;background:#09203446;font-size:12px;box-shadow:0 0 14px #04c5ce0e}.status-dot{width:5px;height:5px;display:inline-block;background:#51fbd4;border-radius:50%;box-shadow:0 0 10px 2px #41dcbf6b;flex-shrink:0}h1{font-size:60px;line-height:1.065;letter-spacing:-1.5px;font-weight:750;margin:24px 0 18px}h1 span{color:#03d4e5;text-shadow:0 0 18px #00d5eb15}.hero-actions{display:flex;gap:16px}.button{border:1px solid transparent;border-radius:7px;min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:12px 28px;font-size:13px;font-weight:550;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-2px)}.button .icon{width:18px;height:18px}.primary{color:#002739;background:linear-gradient(110deg,#07cadb,#06dff0);box-shadow:0 0 23px #00bfdd36,inset 0 0 12px #87eff845;border-color:#2edcec80}.primary:hover{box-shadow:0 0 31px #00c9ea67}.secondary{background:linear-gradient(130deg,#10233a,#03192c);border-color:#55708b8c;color:#dce9f6;box-shadow:inset 0 0 10px #65b6d40c}.secondary .icon{color:#4ccccf}.social-links{display:flex;gap:12px;margin-top:21px}.social-links>*{width:39px;height:39px;border-radius:6px;border:1px solid #4a58758a;background:linear-gradient(125deg,#0b1a30,#061023);box-shadow:inset 0 0 8px #344e6244;display:grid;place-items:center;color:#c1d0e0;transition:color .2s,border-color .2s}.social-links>*:hover{color:var(--cyan);border-color:var(--cyan)}.social-links b{font-size:20px}.social-links .icon{width:18px;height:18px}.glass{border:1px solid #81a5c36e;border-radius:12px;background:linear-gradient(115deg,#113552c9,#061b31c7);box-shadow:inset 1px 1px 10px #5cabcd1f,0 0 13px #05699529;backdrop-filter:blur(10px)}.panel{position:relative;min-width:0;border:1px solid #49618170;border-radius:12px;background:linear-gradient(118deg,#101f36d6,#06182ee8 64%,#06213bda);box-shadow:inset 1px 1px 4px #9eabc017,0 0 8px #071b3b;overflow:hidden}.panel:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 100% 0,#1a5b8d24,transparent 60%);border-radius:inherit}.panel-title{display:flex;align-items:center;gap:12px;font-size:18px;line-height:1.4;font-weight:600;margin:0 0 15px;position:relative}.panel-title .icon{color:#03c5d5;filter:drop-shadow(0 0 8px #00aeb777)}.about-grid{display:grid;grid-template-columns:42% 1fr;gap:24px}.about-panel,.skills-panel{padding:20px 23px;min-height:348px}.about-panel>p{font-size:14px;line-height:1.5;color:#c6cedd;margin:0 0 20px;max-width:395px}.about-details{display:grid;grid-template-columns:1fr 1fr;gap:19px 12px;margin:23px 0 23px}.detail{display:flex;align-items:center;gap:10px;min-width:0}.detail-icon{width:30px;height:30px;border:1px solid #2c4b6540;background:#13283b9c;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.detail-icon .icon{width:18px;height:18px;color:#bdcadb}.detail>div{display:flex;flex-direction:column;min-width:0}.detail small{font-size:11px;color:#8d9fb6;line-height:1.4}.detail>div>span{font-size:12px;color:#dde5f2;line-height:1.5;overflow-wrap:anywhere}.available{color:#67d7c2!important}.available:before{content:'•';margin-right:5px;color:#5de9c1}.small.button{min-height:37px;padding:8px 18px;font-size:12px;gap:20px}.skills-panel{padding:20px 25px}.skills-panel .panel-title{margin-bottom:26px}.skills{display:flex;flex-direction:column;gap:21px}.skill{display:grid;grid-template-columns:160px 1fr 45px;gap:10px;align-items:center;font-size:13px}.skill>span:first-child{white-space:nowrap}.skill-value{text-align:right;color:#d8e0ed}.skill-track{height:5px;background:#28334a;box-shadow:0 0 1px #a3b5d317}.skill-track i{display:block;height:100%;width:var(--fill);background:#10cbdd;box-shadow:0 0 10px #01d5e56b;border-radius:1px;transform-origin:left}.work-panel{padding:18px 20px 14px;margin-top:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{display:block;min-width:0;border:1px solid #576d8799;border-radius:12px;box-shadow:inset 0 0 6px #c3e2ec27,0 0 5px #5f9bbb22;background:linear-gradient(150deg,#0b192c,#0a2136);padding:8px;text-align:left;transition:transform .35s,border-color .35s}.project-card:hover{transform:translateY(-4px);border-color:#13d4e6}.project-preview{aspect-ratio:2.65;background-size:cover;background-position:50% 0;border-radius:7px;position:relative;border:1px solid #19304a;background-color:#051127}.preview-tag{position:absolute;right:0;top:0;display:flex;align-items:center;gap:5px;background:#132c3be8;border:1px solid #3e67747d;border-radius:5px;padding:4px 7px;font-size:10px;color:#cedfdf}.preview-tag .status-dot{width:4px;height:4px;box-shadow:none}.project-info{padding:12px 7px 2px}.project-info h3{font-size:16px;line-height:1.4;font-weight:500;margin:0 0 7px}.project-info p{color:#b0c0d2;font-size:12px;line-height:1.6;min-height:39px;margin:0 0 15px}.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{padding:2px 5px;background:#08232f;border-radius:3px;border:1px solid #12647b1c;color:#4fbec3;font-size:9px;line-height:1.4}.project-arrow{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid #456b8390;background:#1231485c;border-radius:7px;color:#4cc7cf;box-shadow:inset 0 0 8px #35809825}.project-arrow .icon{width:20px;height:20px}.process-panel{margin-top:20px;padding:18px 22px 14px}.process-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:22px 0 0}.process-grid article{text-align:center;position:relative}.step-icon{display:grid;place-items:center;width:61px;height:61px;border-radius:50%;border:1px solid #15798e;background:radial-gradient(circle,#043342,#071c32);margin:0 auto 17px;box-shadow:0 0 0 8px #0b355158,0 0 25px #00cbe024,inset 0 0 14px #09afc01c;position:relative;z-index:1;transition:box-shadow .3s,transform .3s}.step-icon .icon{color:#25ced5;width:29px;height:29px;filter:drop-shadow(0 0 5px #24d2e16b)}.process-grid article:not(:last-child):after{content:'';position:absolute;top:29px;height:2px;left:calc(50% + 34px);width:calc(100% - 60px);background:linear-gradient(90deg,#26618b,#24c1d6,#26618b);box-shadow:0 0 6px #1fe3ff6b}.process-grid article:hover .step-icon{transform:translateY(-3px);box-shadow:0 0 0 8px #0b355158,0 0 28px #00cbe044}.process-grid h3{font-size:13px;font-weight:500;line-height:1.3;margin:0 0 7px}.process-grid p{font-size:12px;line-height:1.55;color:#b4c0d5;max-width:141px;margin:0 auto}.results-grid{display:grid;grid-template-columns:43% 1fr;gap:24px;margin-top:20px}.numbers-panel{padding:18px 21px 13px}.numbers-panel .panel-title{margin-bottom:16px}.number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.number-card{position:relative;min-height:143px;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;padding:19px 6px 10px}.number-card strong{font-size:34px;font-weight:500;color:#19d6dc;text-shadow:0 0 14px #00d3d561;line-height:1.25;margin:0 0 9px}.number-card small{text-align:center;font-size:12px;color:#c3d4e5;line-height:1.4}.number-card .status-dot{position:absolute;right:11px;top:11px;width:4px;height:4px;background:#27dbde}.contact-panel{margin-top:20px;display:grid;grid-template-columns:1.08fr .78fr 1.22fr;gap:25px;padding:20px 23px 22px;background:radial-gradient(at 0 0,#00577754,transparent 38%),linear-gradient(115deg,#08233c,#071b31)}.contact-copy{position:relative;isolation:isolate}.contact-copy .panel-title{font-size:17px;margin:12px 0 15px;white-space:nowrap}.contact-copy .panel-title .icon{width:26px;height:26px}.contact-copy>p{font-size:12px;color:#c1cee1;line-height:1.7;margin:0 0 27px}.contact-copy .button{font-size:12px;min-height:44px;padding:10px 26px;gap:35px}.contact-dots{position:absolute;right:-3px;bottom:-23px;width:180px;height:130px;background-image:radial-gradient(#0798ca88 1px,transparent 1px);background-size:6px 6px;transform:skewY(-28deg);mask-image:radial-gradient(ellipse at right,#000,transparent 65%);z-index:-1}.contact-details{display:flex;flex-direction:column;gap:11px;padding-top:12px}.contact-details .detail small{font-size:11px}.contact-details .detail>div>span{font-size:11px}.contact-details .detail-icon{width:30px;height:30px}.contact-details .detail-icon .icon{width:18px;height:18px}form{border:1px solid #15385155;border-radius:7px;padding:8px;background:#0a2a4099}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}input,textarea{display:block;width:100%;min-width:0;background:#051d33;border:1px solid #2f577080;border-radius:4px;color:#e5f6ff;font-size:11px;padding:8px 10px;margin:0 0 7px;box-shadow:inset 1px 1px 4px #02101a;transition:border-color .3s}input::placeholder,textarea::placeholder{color:#7191ac}input:focus,textarea:focus{border-color:#09c3d9;outline:none}textarea{resize:vertical;min-height:76px}form .button{width:100%;min-height:41px;padding:8px;font-size:12px;gap:14px}#form-status{font-size:12px;color:#63dedb;line-height:1.4;margin:12px 0 0}#form-status:empty{display:none}.footer{display:flex;align-items:center;gap:25px;justify-content:space-between;padding:31px 0 24px}.footer .brand{gap:17px}.footer .brand strong{font-size:15px}.footer>span{font-size:11px;color:#95a6bf;text-align:center}.footer>span small{display:block;font-size:9px;color:#547089;margin-top:3px}.footer nav{display:flex;gap:35px;font-size:11px;color:#a6b3cb}.back-top{height:44px;width:44px;border:1px solid #51718d7a;border-radius:50%;background:#09213977;display:grid;place-items:center;color:#20c7d6;font-size:27px;box-shadow:inset 0 0 8px #21628322}.reveal{opacity:1}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(15px)}.motion-ready .reveal{transition:opacity .65s,transform .65s}.visible .skill-track i{animation:grow 1s ease-out both}dialog{padding:0;color:var(--text);background:#06172f;border:1px solid #346b85;border-radius:12px;width:min(690px,calc(100% - 32px));max-height:90vh;overflow:auto;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#000918cc;backdrop-filter:blur(8px)}.dialog-close{position:absolute;z-index:3;right:12px;top:12px;font-size:24px;background:#061a30}.dialog-preview>.project-preview{border:0;border-radius:0}.dialog-preview .preview-tag{display:none}.dialog-copy{padding:25px 30px}.dialog-copy h2{font-size:27px;margin:15px 0}.dialog-copy p{font-size:14px;color:#b7c7dd}.dialog-copy .tags span{font-size:12px}.dialog-copy .demo-note{font-size:12px;color:#6b88a4;margin-block:25px}.motion-off .reveal{opacity:1!important;transform:none!important}.motion-off *,body.motion-off *:before{animation:none!important;transition:none!important}html:has(.motion-off){scroll-behavior:auto}@keyframes float{50%{transform:translateY(-8px)}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1150px){.container{width:calc(100% - 70px)}.header{width:calc(100% - 60px);gap:15px}.brand{gap:12px}.brand strong{font-size:17px}.desktop-nav{gap:19px}.desktop-nav a{font-size:11px}.cv-button{padding:8px 12px;font-size:10px}.header-actions{gap:12px}.hero{height:520px}.hero-copy{padding-left:14px}h1{font-size:52px}.button{padding:11px 23px;gap:20px;font-size:12px}.about-grid,.results-grid{gap:22px}.about-panel,.skills-panel{padding:19px 20px;min-height:325px}.panel-title{font-size:16px;gap:10px}.about-panel>p{font-size:13px}.detail>div>span{font-size:11px}.about-details{gap:17px 8px;margin-block:20px}.detail{gap:8px}.skills-panel{padding-inline:22px}.skill{grid-template-columns:145px 1fr 35px;font-size:12px;gap:8px}.skills{gap:21px}.work-panel{padding:17px 17px 13px}.project-grid{gap:14px}.project-info h3{font-size:14px}.project-info p{font-size:11px}.tags{gap:4px}.tags span{font-size:8px;padding:2px 4px}.project-arrow{width:30px;height:30px}.project-info{padding:10px 5px 1px}.process-grid p{font-size:11px;max-width:130px}.process-grid{margin-top:21px}.step-icon{width:55px;height:55px;margin-bottom:15px}.process-grid article:not(:last-child):after{top:26px}.process-grid h3{font-size:12px}.numbers-panel{padding:17px 18px 12px}.number-grid{gap:12px}.number-card{min-height:133px;padding-top:21px}.number-card strong{font-size:29px}.number-card small{font-size:11px}.contact-panel{gap:19px;padding:19px 20px}.contact-copy .panel-title{font-size:15px;gap:9px}.contact-copy .panel-title .icon{width:23px;height:23px}.contact-copy>p{font-size:11px}.contact-copy .button{min-height:40px;padding:10px 22px;font-size:11px}.contact-details .detail>div>span{font-size:10px}.contact-details .detail small{font-size:10px}.footer nav{gap:25px}.footer>span{font-size:10px}}
@media(max-width:900px) and (min-width:701px){.container{width:calc(100% - 76px)}.header{height:62px;width:calc(100% - 56px);gap:10px}.brand strong{font-size:14px}.brand{gap:10px}.desktop-nav{gap:21px}.desktop-nav a{font-size:8px;padding-block:11px}.cv-button{font-size:8px;padding:6px 11px;gap:6px}.cv-button .icon{width:13px;height:13px}.header-actions{gap:12px}.icon-button{width:28px;height:28px;padding:6px}.icon-button .icon{width:16px;height:16px}.hero{height:312px}.hero-copy{padding:13px 0 18px 10px}.eyebrow{font-size:8px;padding:3px 9px;gap:7px}.eyebrow .status-dot{width:4px;height:4px}h1{font-size:37px;letter-spacing:-.5px;margin:16px 0 11px}.hero-actions{gap:10px}.button{min-height:31px;padding:7px 19px;font-size:8px;gap:17px;border-radius:6px}.button .icon{width:13px;height:13px}.social-links{gap:8px;margin-top:12px}.social-links>*{width:27px;height:27px;border-radius:5px}.social-links b{font-size:14px}.social-links .icon{width:13px;height:13px}.about-grid{grid-template-columns:42% 1fr;gap:14px}.about-panel,.skills-panel{min-height:201px;padding:12px 13px}.panel{border-radius:8px}.panel-title{font-size:10.5px;gap:8px;margin-bottom:10px}.panel-title .icon{width:15px;height:15px}.about-panel>p{font-size:8px;line-height:1.5;margin-bottom:12px}.about-details{gap:12px 8px;margin:14px 0}.detail{gap:6px}.detail-icon{width:20px;height:20px}.detail-icon .icon{width:13px;height:13px}.detail small{font-size:6px}.detail>div>span{font-size:7px}.small.button{min-height:24px;padding:4px 13px;font-size:7px;gap:17px}.skills-panel{padding:12px 14px}.skills-panel .panel-title{margin-bottom:17px}.skills{gap:14px}.skill{grid-template-columns:90px 1fr 25px;gap:7px;font-size:8px}.skill-track{height:3px}.work-panel{margin-top:11px;padding:11px 12px 10px}.project-grid{gap:10px}.project-card{padding:5px;border-radius:9px}.project-preview{border-radius:5px}.preview-tag{font-size:6px;padding:3px 5px;gap:3px}.preview-tag .status-dot{width:3px;height:3px}.project-info{padding:7px 5px 1px}.project-info h3{font-size:9px;margin-bottom:6px}.project-info p{font-size:7px;line-height:1.5;min-height:28px;margin-bottom:10px}.project-bottom{gap:4px}.tags{gap:4px}.tags span{font-size:5.5px;padding:2px 3px}.project-arrow{width:22px;height:22px;border-radius:5px}.project-arrow .icon{width:14px;height:14px}.process-panel{margin-top:11px;padding:11px 13px 10px}.process-grid{margin-top:16px;gap:5px}.step-icon{height:39px;width:39px;margin-bottom:12px;box-shadow:0 0 0 5px #0b355158,0 0 16px #00cbe024}.step-icon .icon{width:21px;height:21px}.process-grid article:not(:last-child):after{top:18px;left:calc(50% + 24px);width:calc(100% - 41px);height:1px}.process-grid h3{font-size:8px;margin:0 0 5px}.process-grid p{font-size:7px;max-width:85px;line-height:1.5}.results-grid{gap:14px;margin-top:11px}.numbers-panel{padding:11px 12px 8px}.numbers-panel .panel-title{margin-bottom:10px}.number-grid{gap:8px}.number-card{min-height:81px;padding:13px 4px 8px;border-radius:8px}.number-card strong{font-size:22px;margin-bottom:5px}.number-card small{font-size:7px}.number-card .status-dot{width:3px;height:3px;right:7px;top:7px}.contact-panel{margin-top:11px;gap:16px;padding:12px 15px;grid-template-columns:1.07fr .8fr 1.24fr}.contact-copy .panel-title{font-size:10px;margin:8px 0 11px;gap:8px}.contact-copy .panel-title .icon{width:20px;height:20px}.contact-copy>p{font-size:7px;line-height:1.6;margin-bottom:19px}.contact-copy .button{min-height:28px;font-size:7px;padding:6px 20px;gap:25px}.contact-details{gap:8px;padding-top:7px}.contact-details .detail-icon{width:20px;height:20px}.contact-details .detail-icon .icon{width:13px;height:13px}.contact-details .detail small{font-size:6px}.contact-details .detail>div>span{font-size:6.5px}.contact-dots{width:110px;height:80px;bottom:-12px}form{padding:5px;border-radius:5px}.form-row{gap:5px}input,textarea{font-size:7px;padding:5px 6px;margin-bottom:4px;border-radius:3px}textarea{min-height:48px}form .button{min-height:27px;font-size:7px;padding:5px;gap:12px}form .button .icon{width:11px;height:11px}.footer{padding:22px 0 14px;gap:20px}.footer .brand{gap:12px}.footer .brand strong{font-size:10px}.footer>span{font-size:7px}.footer>span small{font-size:6px}.footer nav{gap:24px;font-size:7px}.back-top{width:30px;height:30px;font-size:20px}}
@media(max-width:700px){.container{width:calc(100% - 32px)}.header{width:calc(100% - 32px);height:76px;gap:12px}.brand{gap:13px}.brand strong{font-size:17px}.cv-button{font-size:10px;padding:7px 11px}.header-actions{gap:8px}.icon-button{width:30px;height:30px;padding:6px}.icon-button .icon{width:18px;height:18px}.menu-toggle{display:grid}.desktop-nav{display:none;position:absolute;left:0;right:0;top:69px;padding:17px;background:#06172df5;backdrop-filter:blur(15px);border:1px solid #315975;border-radius:9px}.desktop-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:7px 24px}.desktop-nav a{font-size:14px;padding:8px}.desktop-nav a.active:after{left:8px;right:60%}.hero{display:flex;flex-direction:column;height:auto}.hero-copy{padding:20px 10px 0}.eyebrow{font-size:11px}h1{font-size:clamp(38px,10vw,58px);letter-spacing:-1px;margin:20px 0 18px}.hero-actions{gap:12px}.button{font-size:12px;padding:10px 21px;min-height:45px;gap:24px}.social-links{margin-top:18px;gap:10px}.social-links>*{width:36px;height:36px}.about-grid,.results-grid{grid-template-columns:1fr;gap:14px}.panel{border-radius:9px}.about-panel,.skills-panel{min-height:auto;padding:20px}.panel-title{font-size:17px}.about-panel>p{font-size:14px;max-width:none}.about-details{gap:20px 12px;margin-block:23px}.detail small{font-size:11px}.detail>div>span{font-size:12px}.skills-panel .panel-title{margin-bottom:24px}.skills{gap:22px;margin-bottom:5px}.skill{font-size:11px;grid-template-columns:137px 1fr 28px;gap:7px}.skill-track{height:4px}.work-panel{padding:18px 14px 14px;margin-top:14px}.panel-heading{gap:10px}.panel-heading .panel-title{font-size:16px;gap:7px}.project-grid{grid-template-columns:1fr;gap:15px}.project-card{padding:7px}.project-info{padding:13px 10px 6px}.project-info h3{font-size:17px}.project-info p{font-size:13px;min-height:0;margin:8px 0 16px}.tags span{font-size:10px;padding:3px 5px}.preview-tag{font-size:9px}.project-arrow{height:31px;width:31px}.process-panel{padding:20px 17px;margin-top:14px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 12px;margin-top:27px}.process-grid article:after{display:none}.step-icon{height:55px;width:55px;margin-bottom:15px}.process-grid h3{font-size:14px}.process-grid p{font-size:12px;max-width:140px}.results-grid{margin-top:14px}.numbers-panel{padding:19px 16px 15px}.number-grid{gap:8px}.number-card{padding:18px 3px 13px;min-height:110px;border-radius:8px}.number-card strong{font-size:27px}.number-card small{font-size:9px}.number-card .status-dot{right:7px;top:8px;width:3px}.contact-panel{grid-template-columns:1fr;gap:24px;margin-top:14px;padding:20px}.contact-copy .panel-title{font-size:17px;white-space:normal;margin:0 0 15px}.contact-copy>p{font-size:13px;margin-bottom:20px}.contact-copy .button{font-size:12px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:17px 12px;padding:0}.contact-details .detail small{font-size:10px}.contact-details .detail>div>span{font-size:11px}.contact-details .detail{gap:7px}.contact-dots{right:0;bottom:-15px}.form-row{grid-template-columns:1fr;gap:0}form{padding:9px}input,textarea{font-size:16px;padding:11px 10px;margin-bottom:9px}textarea{min-height:110px}form .button{font-size:13px;min-height:43px}.footer{display:grid;grid-template-columns:1fr auto;gap:22px;padding:25px 0}.footer .brand{grid-column:1;grid-row:1}.footer .brand strong{font-size:16px}.footer>span{grid-column:1/-1;grid-row:3;text-align:left;font-size:10px}.footer nav{grid-column:1/-1;grid-row:2;font-size:12px;gap:30px}.back-top{grid-column:2;grid-row:1;width:36px;height:36px;font-size:24px}.dialog-copy{padding:22px}.dialog-copy h2{font-size:23px}}
@media(max-width:365px){.cv-button{padding:7px 8px;font-size:9px}.cv-button .icon{width:13px;height:13px}.header-actions{gap:6px}.brand{gap:10px}.hero-actions .button{padding-inline:16px;gap:17px}.skill{grid-template-columns:124px 1fr 27px;font-size:10px}.contact-details{grid-template-columns:1fr}.number-card strong{font-size:23px}.number-card small{font-size:8px}.about-panel,.skills-panel{padding:17px}.detail>div>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}}
@media(max-width:900px) and (min-width:701px){.project-info p{min-height:22px;margin-bottom:8px}.process-grid{margin-top:10px}.step-icon{margin-bottom:8px}.process-panel{padding-bottom:9px}.contact-details{gap:5px;padding-top:5px}.contact-panel{padding-block:10px}.contact-copy .panel-title{margin-top:7px}form{padding:4px}input{padding-block:4px}textarea{min-height:45px}.footer{padding-top:18px}}
/* Реальный контент: навыки «N из 12»,раскрытие проектов,окно проекта,форма zio-forms,страница политики */
.skill{grid-template-columns:160px 1fr 62px}.project-grid:not(.show-all) .project-extra{display:none}.detail a,.footer small a,.form-consent a,#form-status a{text-decoration:underline;text-underline-offset:2px;transition:color .2s}.detail a{text-decoration:none}.detail a:hover,.footer small a:hover,.form-consent a:hover{color:var(--cyan)}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.dialog-actions .button{gap:16px}
.field{min-width:0;margin:0 0 7px}.field input,.field textarea{margin:0}.field-error{display:block;font-size:10px;line-height:1.35;color:#f0a6a6;margin-top:3px}.field-error:empty{display:none}.field.invalid input,.field.invalid textarea{border-color:#e76f6fbf;background:linear-gradient(#e76f6f1a,#e76f6f1a),#051d33}.botcheck{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #051d33 inset;-webkit-text-fill-color:#e5f6ff;caret-color:#e5f6ff;transition:background-color 5000s ease-in-out 0s}form .button:disabled{opacity:.7;cursor:progress;transform:none}.form-consent{font-size:10px;line-height:1.4;color:#7f98b0;margin:8px 0 0}#form-status.error{color:#f0a6a6}
.legal-page{min-height:100vh}.legal{margin:10px auto 40px;padding:28px 32px;max-width:860px}.legal h1{font-size:32px;line-height:1.2;letter-spacing:-.5px;margin:0 0 8px}.legal h2{font-size:17px;font-weight:600;margin:26px 0 8px}.legal p,.legal li{font-size:14px;line-height:1.65;color:#c6cedd}.legal p{margin:0 0 10px}.legal ul{margin:0 0 10px;padding-left:20px}.legal a{color:var(--cyan)}.legal .updated{color:#8d9fb6;font-size:12px}
@media(max-width:1150px){.skill{grid-template-columns:145px 1fr 54px}}
@media(max-width:900px) and (min-width:701px){.skill{grid-template-columns:90px 1fr 36px}.field{margin-bottom:4px}.field-error{font-size:6.5px;margin-top:2px}.form-consent{font-size:6px;margin-top:5px}}
@media(max-width:700px){.skill{grid-template-columns:124px 1fr 52px}.field{margin-bottom:9px}.field-error{font-size:12px}.form-consent{font-size:11px}.legal{padding:20px}.legal h1{font-size:26px}}
@media(max-width:365px){.skill{grid-template-columns:108px 1fr 48px}}
/* Стеклянные значки из набора Zio Glass UI (символы g-* в спрайте index.html) */
.gicon{display:block;flex-shrink:0;overflow:visible}.step-icon .gicon{width:40px;height:40px}.number-card .gicon{width:34px;height:34px;margin:-6px 0 2px}
@media(max-width:1150px){.step-icon .gicon{width:36px;height:36px}.number-card .gicon{width:30px;height:30px}}
@media(max-width:900px) and (min-width:701px){.step-icon .gicon{width:27px;height:27px}.number-card .gicon{width:22px;height:22px;margin:-6px 0 0}}
@media(max-width:700px){.step-icon .gicon{width:36px;height:36px}.number-card .gicon{width:28px;height:28px;margin:-8px 0 0}}
/* Стекло из набора Zio Glass UI (_originals/glass-ui): поверхность с бликом,два смещённых листа,световой кант */
.glass{--sheet1:5px;--sheet2:10px;border:1px solid #a7d9ff4d;border-radius:16px;isolation:isolate;background:linear-gradient(127deg,#e2f5ff0d 0%,#d2eaff0c 31%,transparent 31.3%),linear-gradient(128deg,#bacfe528 0%,#6686a514 29%,#38445318 30%,#b28af313 100%);box-shadow:inset 1px 1px 2px #d6f6ff42,inset -1px -1px 2px #b39bfa20,0 15px 25px #080b144d}.glass:before,.glass:after{content:"";position:absolute;pointer-events:none;border-radius:inherit;z-index:-1}.glass:before{inset:var(--sheet1) calc(var(--sheet1)*-1) calc(var(--sheet1)*-1) var(--sheet1);border:1px solid #89b8e12b;background:linear-gradient(125deg,#6ecaff08,#9c78dd13);box-shadow:0 8px 12px #06091138}.glass:after{inset:var(--sheet2) calc(var(--sheet2)*-1) calc(var(--sheet2)*-1) var(--sheet2);border:1px solid #9283c029;background:linear-gradient(125deg,#6ecaff02,#9c78dd08);box-shadow:0 9px 10px #06091138}
.zg-edge{position:absolute;left:18%;right:18%;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,#7ce8ff,transparent);box-shadow:0 0 10px 2px #47cfff77,0 0 24px 4px #479fff33;pointer-events:none}:nth-child(even)>.zg-edge{background:linear-gradient(90deg,transparent,#c6a0ff,transparent);box-shadow:0 0 10px 2px #a969ff80,0 0 24px 4px #9766f633}
.project-grid{padding:0 10px 10px 0}.project-card.glass{position:relative;padding:10px;backdrop-filter:none;transition:transform .25s,box-shadow .25s,border-color .25s}.project-card.glass:hover{transform:translateY(-5px);border-color:#a7d9ff80;box-shadow:inset 1px 1px 2px #d6f6ff50,0 22px 40px #07091680}.project-card .project-preview{border-radius:10px;border-color:#a7d9ff26}.preview-tag{top:8px;right:8px;border-radius:30px;padding:4px 9px;background:#0b1a2cc7;border-color:#a9c3e33d;backdrop-filter:blur(6px);color:#d3e2f0}.project-arrow{border-radius:50%;border-color:#bddaff30;background:linear-gradient(135deg,#90d9ff20,#8f80d30a);box-shadow:none;transition:border-color .2s,color .2s}.project-card:hover .project-arrow{border-color:var(--cyan);color:var(--cyan)}
#contact-form{padding:10px 16px 12px 10px}#contact-form .form-row{gap:16px}#contact-form .field{margin-bottom:15px}#contact-form input:not(.botcheck),#contact-form textarea{border-radius:9px;border:1px solid #a2d6ff57;background:linear-gradient(127deg,#b2d3eb23 0 35%,#55779712 35.2%,#9e7ce915);box-shadow:inset 1px 1px 3px #c3eeff30,3px 4px 0 -1px #223043,3px 4px 0 #8c9ddc35,6px 7px 0 -1px #1c2436,6px 7px 0 #a082d020,0 10px 14px #080d184d;padding:10px 12px;font-size:13px;color:#eff7ff;transition:border-color .2s,box-shadow .2s}#contact-form input::placeholder,#contact-form textarea::placeholder{color:#8291a8}#contact-form input:focus,#contact-form textarea:focus{border-color:#9be7ff;box-shadow:inset 1px 1px 3px #c3eeff30,0 2px 14px #52ccff33,3px 4px 0 #2b3551}#contact-form .field.invalid input,#contact-form .field.invalid textarea{border-color:#e76f6fbf;background:linear-gradient(127deg,#ffb4b41c 0 35%,#e76f6f14 35.2%,#e76f6f10)}#contact-form .field-error{margin-top:9px}#contact-form textarea{min-height:90px}#contact-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #15253b inset,3px 4px 0 #8c9ddc35}
@media(max-width:1150px){#contact-form input:not(.botcheck),#contact-form textarea{font-size:12px;padding:9px 11px}}
@media(max-width:900px) and (min-width:701px){.glass{--sheet1:3px;--sheet2:6px;border-radius:10px}.project-grid{padding:0 6px 6px 0}.project-card.glass{padding:6px}.project-card .project-preview{border-radius:6px}.preview-tag{top:5px;right:5px;padding:2px 6px}#contact-form{padding:6px 10px 8px 6px}#contact-form .form-row{gap:9px}#contact-form .field{margin-bottom:8px}#contact-form input:not(.botcheck),#contact-form textarea{font-size:8px;padding:5px 7px;border-radius:5px;box-shadow:inset 1px 1px 2px #c3eeff30,2px 2px 0 #8c9ddc35,4px 4px 0 #a082d020}#contact-form textarea{min-height:48px}#contact-form .field-error{margin-top:5px}}
@media(max-width:700px){.glass{--sheet1:3px;--sheet2:6px;border-radius:12px}.project-grid{padding:0 6px 6px 0}.project-card.glass{padding:8px}#contact-form{padding:10px 14px 12px 10px}#contact-form .form-row{gap:0}#contact-form .field{margin-bottom:17px}#contact-form input:not(.botcheck),#contact-form textarea{font-size:16px;padding:11px 12px}#contact-form textarea{min-height:110px}}
/* Блоки-панели в стекле из набора: блик,тонировка,два листа-тени и световой кант снизу */
.panel{--p1:5px;--p2:10px;border:1px solid #a7d9ff40;border-radius:18px;background:linear-gradient(127deg,#e2f5ff0a 0%,#d2eaff09 31%,transparent 31.3%),linear-gradient(128deg,#bacfe51c 0%,#6686a50f 29%,#38445312 30%,#b28af30f 100%),linear-gradient(118deg,#101f36b3,#06182ec2 64%,#06213bb3);box-shadow:inset 1px 1px 2px #d6f6ff38,inset -1px -1px 2px #b39bfa1c,var(--p1) calc(var(--p1) + 1px) 0 -1px #06132a,var(--p1) calc(var(--p1) + 1px) 0 0 #89b8e12b,var(--p2) calc(var(--p2) + 2px) 0 -1px #051024,var(--p2) calc(var(--p2) + 2px) 0 0 #9283c029,0 20px 30px #080b144d}.contact-panel{background:radial-gradient(at 0 0,#00577740,transparent 38%),linear-gradient(127deg,#e2f5ff0a 0%,#d2eaff09 31%,transparent 31.3%),linear-gradient(128deg,#bacfe51c 0%,#6686a50f 29%,#38445312 30%,#b28af30f 100%),linear-gradient(115deg,#08233cc7,#071b31d9)}.panel:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#7ce8ff,transparent);box-shadow:0 0 10px 2px #47cfff66,0 0 24px 4px #479fff2b;pointer-events:none}.skills-panel:after,.process-panel:after,.numbers-panel:after{background:linear-gradient(90deg,transparent,#c6a0ff,transparent);box-shadow:0 0 10px 2px #a969ff70,0 0 24px 4px #9766f62b}#contact-form{border-color:#aec4ed24;border-radius:14px;background:#0e1a3047}
/* Кнопки из набора,но с углами как у полей формы */
.button,.cv-button,.social-links>*,.back-top,.icon-button,.project-arrow{border-radius:9px}.button,.cv-button,.social-links>*,.back-top,.icon-button{border:1px solid #b7eaff6e;background:linear-gradient(130deg,#b1e3ff28,#3c627f25 60%,#8971ad30);box-shadow:inset 1px 1px 2px #effaff66,inset 0 -2px 3px #bba0ff1a,4px 5px 0 -1px #739edf0f,4px 5px 0 0 #9cc6ff24,0 10px 18px #070d194d;transition:filter .2s,transform .2s,border-color .2s}.button:hover,.cv-button:hover,.social-links>*:hover,.back-top:hover,.icon-button:hover{filter:brightness(1.18);transform:translateY(-2px)}.button:active,.cv-button:active,.social-links>*:active,.back-top:active,.icon-button:active{transform:translateY(1px)}.cv-button,.icon-button{color:#dce9f6}.social-links>*{color:#bfeeff}.social-links>*:hover{border-color:#9be7ff;color:#e6fbff}.back-top{color:#9be7ff}
.button.primary{color:#f7fdff;border-color:#b5edff;background:linear-gradient(135deg,#b2edffc9,#50abe2a8 55%,#847aecba);box-shadow:inset 1px 2px 4px #fff9,inset 0 -2px 5px #b5f1ffa6,4px 5px 0 #679aff30,0 0 18px #4bbdff57,0 9px 26px #2f86e33d;text-shadow:0 1px 3px #3978a7}.button.primary:hover{box-shadow:inset 1px 2px 4px #fff9,inset 0 -2px 5px #b5f1ffa6,4px 5px 0 #679aff30,0 0 26px #4bbdff80,0 9px 26px #2f86e33d}.button.primary .icon{color:#f7fdff;filter:drop-shadow(0 1px 2px #3978a7)}.button.secondary{color:#d6c9fc;border-color:#b498ed70;background:linear-gradient(135deg,#b4b4ec22,#77679326);box-shadow:inset 1px 1px 2px #ddd5ff59,4px 5px 0 -1px #8971c214,4px 5px 0 #ac8af02b,0 10px 18px #070d194d}.button.secondary .icon{color:#c9b6ff}form .button:disabled{filter:none}
@media(max-width:900px) and (min-width:701px){.panel{--p1:3px;--p2:6px;border-radius:12px}.button,.cv-button,.social-links>*,.back-top,.icon-button,.project-arrow{border-radius:6px}.button,.cv-button,.social-links>*,.back-top,.icon-button,.button.secondary{box-shadow:inset 1px 1px 2px #effaff55,2px 3px 0 #9cc6ff24,0 6px 12px #070d194d}.button.primary{box-shadow:inset 1px 1px 3px #fff9,2px 3px 0 #679aff30,0 0 12px #4bbdff57}#contact-form{border-radius:9px}}
@media(max-width:700px){.panel{--p1:3px;--p2:6px;border-radius:14px}.panel:after{left:12%;right:12%}}
/* Заголовки как в наборе Zio Glass UI: полужирные с плотным трекингом */
h1{font-weight:600;letter-spacing:-.015em}.project-info h3,.number-card strong{font-weight:600}.project-info h3{letter-spacing:-.02em}
/* Объёмные значки заголовков блоков (section-*.svg из набора) */
.panel-title .sicon{width:36px;height:36px;margin:-8px 0;filter:drop-shadow(0 6px 6px #050a1370)}.contact-copy .panel-title .sicon{width:40px;height:40px}
@media(max-width:1150px){.panel-title .sicon{width:32px;height:32px;margin:-7px 0}.contact-copy .panel-title .sicon{width:34px;height:34px}}
@media(max-width:900px) and (min-width:701px){.panel-title .sicon,.contact-copy .panel-title .sicon{width:22px;height:22px;margin:-4px 0}}
@media(max-width:700px){.panel-title .sicon,.contact-copy .panel-title .sicon{width:32px;height:32px;margin:-7px 0}}
/* «В цифрах» — отдельной строкой на всю ширину (отзывы стали своей секцией) */
.results-grid{grid-template-columns:1fr}
/* Блок «Сайты на коде,а не на конструкторе» */
.why-panel{margin-top:20px;padding:18px 22px 22px}.why-lead{font-size:14px;line-height:1.65;color:#c6cedd;margin:0 0 20px;max-width:860px}.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 10px 10px 0}.why-card{position:relative;padding:20px 22px 24px}.why-card .gicon{width:60px;height:60px;margin:0 0 14px -4px;filter:drop-shadow(0 8px 7px #050a1370)}.why-card h3{font-size:16px;font-weight:600;line-height:1.35;margin:0 0 8px}.why-card p{font-size:13px;line-height:1.6;color:#b4c0d5;margin:0}.dialog-close{padding:0;line-height:0}.dialog-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
@media(max-width:1150px){.why-grid{gap:14px}.why-card{padding:18px}.why-card .gicon{width:54px;height:54px}}
@media(max-width:900px){.why-panel{margin-top:14px;padding:16px}.why-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 6px 6px 0}.why-lead{font-size:13px}}
@media(max-width:560px){.why-grid{grid-template-columns:1fr}}
/* Окно проекта в стиле окна отзыва: стекло,полоса сверху под категорию и крестик,скриншот ниже */
[hidden]{display:none!important}.project-card.is-origin{opacity:0}
#project-dialog{width:min(720px,calc(100vw - 48px));max-height:min(860px,calc(100dvh - 48px));padding:0;color:#edf4ff;border:1px solid #c0e8ff6b;border-radius:23px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#91a5d14f transparent;background:linear-gradient(120deg,#344759f5,#242c40fc 48%,#332b43fc);box-shadow:inset 1px 1px 3px #ddf5ff66,6px 7px 0 -1px #4c5d804d,6px 7px 0 #a5a4d93b,12px 14px 0 -1px #272d4388,12px 14px 0 #9e92d625,0 50px 120px #030812a6}#project-dialog::backdrop{background:#080d209e;backdrop-filter:blur(8px)}
.pd-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 14px 24px}#dialog-kind{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#9cdef0}.dialog-close.pd-close{position:static;flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1px solid #b8d4f239;background:#bfd6fc0a;box-shadow:none;color:#dce9f6;filter:none;transform:none}.dialog-close.pd-close:hover{background:#b7c8fa20}
#project-dialog .dialog-preview{padding:0 16px}#project-dialog .dialog-preview>.project-preview{border:1px solid #c1d9ff29;border-radius:14px}#project-dialog .dialog-copy{padding:22px 24px 26px}#project-dialog .dialog-copy h2{font-size:24px;font-weight:600;letter-spacing:-.01em;margin:0 0 10px}#project-dialog .dialog-copy p{color:#c3cfdf;line-height:1.7}
@media(max-width:680px){#project-dialog{width:calc(100vw - 32px);max-height:calc(100dvh - 44px);border-radius:17px}.pd-top{padding:12px 12px 12px 18px}#project-dialog .dialog-preview{padding:0 12px}#project-dialog .dialog-copy{padding:18px 18px 22px}#project-dialog .dialog-copy h2{font-size:21px}}
/* Кнопка «Все проекты» — внизу секции,как «Показать ещё отзывы» */
.projects-more{display:flex;justify-content:center;margin-top:22px}.projects-toggle .icon{transform:rotate(90deg);transition:transform .3s}.projects-toggle[aria-expanded="true"] .icon{transform:rotate(-90deg)}
@media(max-width:900px) and (min-width:701px){.projects-more{margin-top:12px}}
/* Под заголовком первого экрана больше нет абзаца — кнопкам нужен отступ */
.hero-copy h1{margin-bottom:34px}
@media(max-width:900px) and (min-width:701px){.hero-copy h1{margin-bottom:20px}}
@media(max-width:700px){.hero-copy h1{margin-bottom:28px}}
