/* VEDENEEV — editorial portfolio. Original case visuals and demos in styles.css. */
:root{--paper:#f5f3ed;--paper-deep:#eae7df;--ink:#20221f;--soft:#686b61;--line:#d9dcd1;--acid:#d6f46a;--max:1440px}
html{scroll-padding-top:100px;scrollbar-gutter:stable}
body{background:var(--paper);cursor:auto;overflow-x:clip}
a,button,[role=button]{cursor:pointer}
.cursor-dot,.cursor-ring,.page-reveal{display:none}
.skip-link{position:fixed;top:10px;left:20px;z-index:11000;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.topbar{height:86px;width:min(calc(100% - 96px),var(--max));grid-template-columns:1fr auto 1fr;background:rgba(245,243,237,.94);border-color:var(--line)}
.logo{align-items:center;gap:13px}
.logo .logo-mark{font-size:33px;letter-spacing:-.12em;background:var(--acid);padding:3px 11px 6px 7px;border-radius:2px;line-height:1}
.logo b{display:block;font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.logo .logo-sub{display:block;font-family:Inter,sans-serif;font-weight:400;letter-spacing:.13em;font-size:8px;margin-top:4px}
.topnav{gap:32px}.topnav a{font-size:12px}
.availability{font-size:9px;letter-spacing:.05em;text-transform:none}
.hero,.manifesto,.work,.contact,.footer,.process-strip,.trust-strip{width:min(calc(100% - 96px),var(--max))}
.hero{display:grid;grid-template-columns:1.18fr .82fr;column-gap:50px;align-items:center;padding:174px 0 86px;min-height:760px;overflow:visible}
.hero::before,.hero::after{display:none}
.hero-meta{top:122px;font-size:9px;letter-spacing:.12em}
.hero-copy{z-index:2;min-width:0;align-self:center}
.overline{font-size:9px;margin-bottom:32px;letter-spacing:.12em;gap:7px}
.tone-dot{width:6px;height:6px;margin-left:10px}
.hero h1{font-size:clamp(58px,5.8vw,99px);line-height:.95;letter-spacing:-.067em;max-width:100%}
.hero-line{display:flex!important;gap:.14em;white-space:nowrap}
.hero-line em{font-size:.42em;display:inline;line-height:1.25;margin:0;color:#68724c}
.hero-line-last{margin-top:6px}
.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:26px;width:100%;margin-top:32px}
.hero-bottom p{max-width:460px;font-size:14px;line-height:1.8;color:var(--soft)}
.arrow-link{background:var(--ink);color:var(--paper);border:0;padding:17px 20px;min-width:220px;min-height:52px;align-items:center;border-radius:3px;font-size:10px;transition:background .2s,transform .2s}
.arrow-link:hover{background:#414a30;transform:translateY(-2px)}
.hero-contact{display:inline-flex;gap:18px;align-items:center;font-size:11px;color:var(--soft);margin:20px 0 0 4px;border-bottom:1px solid var(--line);padding-bottom:5px}
.hero-contact:hover{color:var(--ink);border-color:var(--ink)}
.hero-art{height:430px;position:relative;border-radius:5px;background:var(--acid);isolation:isolate;transform:rotate(-3deg);margin:0 17px 30px 0;box-shadow:0 20px 45px #22241408}
.hero-art::after{content:"";position:absolute;inset:0;background-image:linear-gradient(#52672b13 1px,transparent 1px),linear-gradient(90deg,#52672b13 1px,transparent 1px);background-size:34px 34px;z-index:-1;border-radius:5px}
.art-coordinate{position:absolute;top:23px;left:24px;font-size:8px;letter-spacing:.1em;transform:rotate(3deg)}
.art-letter{position:absolute;left:45px;top:28px;font-family:Manrope,Arial,sans-serif;font-size:240px;font-weight:800;letter-spacing:-.12em;line-height:1.2;transform:rotate(3deg)}
.art-letter span{color:#63703e}
.art-orbit{position:absolute;border:1px solid #52672b3f;border-radius:50%;pointer-events:none}
.orbit-one{width:310px;height:310px;top:35px;left:24px}.orbit-two{width:220px;height:220px;top:80px;left:70px}
.art-cross{position:absolute;color:#63703e;font-size:20px;line-height:1}.cross-one{right:23px;top:20px}.cross-two{left:24px;bottom:26px}
.art-label{position:absolute;right:22px;top:113px;writing-mode:vertical-rl;font-size:8px;line-height:1.8;letter-spacing:.12em}
.hero-project{position:absolute;right:-28px;bottom:28px;width:79%;padding:0;border:1px solid #31372a26;background:var(--paper);border-radius:5px;overflow:hidden;transform:rotate(7deg);box-shadow:0 18px 35px #20221f20;transition:transform .3s}
.hero-project:hover{transform:rotate(3deg) translateY(-6px)}
.mini-browser{display:flex;align-items:center;gap:4px;padding:9px 10px;border-bottom:1px solid #ddd;background:#fff}.mini-browser i{width:4px;height:4px;border-radius:50%;background:#cacbc3}.mini-browser b{font-size:7px;font-weight:400;margin-left:11px;color:var(--soft)}.mini-browser>span{margin-left:auto;font-size:10px}
.hero-project img{display:block;width:100%;height:auto;aspect-ratio:1.82;object-fit:cover;object-position:top}
.hero-project-foot{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;font-size:8px}.hero-project-foot b{font-size:11px;font-weight:600}.hero-project-foot>span{color:var(--soft)}
.art-stamp{position:absolute;bottom:-18px;left:28px;transform:rotate(3deg);background:var(--ink);color:var(--acid);padding:10px 12px;font-size:8px;letter-spacing:.12em}
.hero-note{position:absolute;bottom:23px;left:0;right:0;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em}
.manifesto{padding:62px 0 70px;grid-template-columns:.4fr 1.6fr;gap:45px}
.manifesto h2{max-width:900px;font-size:clamp(28px,3vw,47px);line-height:1.12;letter-spacing:-.05em}
.manifesto p{font-size:9px}.manifesto::after{display:none}
.work{padding:72px 0 84px}.section-line{font-size:9px;padding-bottom:17px}
.work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:38px 0 32px}
.work-heading h2{margin:0;font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:clamp(38px,4.2vw,64px);line-height:1.02;letter-spacing:-.06em}.work-heading em{font-family:Georgia,serif;font-weight:400;color:#71775f}
.work-heading p{margin:0 0 6px;color:var(--soft);font-size:12px;line-height:1.8}
.projects{display:grid;grid-template-columns:1fr 1fr;gap:34px 26px}
.project{display:grid;grid-template-columns:30px 1fr 40px;gap:8px 12px;min-width:0;min-height:0;padding:0 0 22px;border-bottom:1px solid var(--line);transition:none}
.project:hover{padding:0 0 22px}.project::before{display:none}
.project-no{grid-column:1;grid-row:2;align-self:start;margin-top:8px;font-size:10px}
.project-title{grid-column:2;grid-row:2;align-self:start}.project-title h3{font-size:29px;line-height:1.12;font-weight:600}.project-title p{font-size:11px;margin-top:7px}
.project-arrow{grid-column:3;grid-row:2;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:19px;transition:background .2s,transform .2s}.project:hover .project-arrow{background:var(--row-color);transform:rotate(45deg)}
.project-type{display:block;grid-column:2;grid-row:3;font-size:8px;letter-spacing:.09em;margin:6px 0 0}
.project-live-link{position:static;display:block;grid-column:2 / 4;grid-row:4;opacity:1;transform:none!important;align-self:start;font-size:9px;margin-top:6px;width:max-content;max-width:100%;padding:5px 0;border-bottom:1px solid var(--line);transition:color .2s}
.project-preview,.project.is-active .project-preview{display:block;grid-column:1 / 4;grid-row:1;position:relative;left:auto!important;top:auto!important;width:100%;height:auto;aspect-ratio:1.5;opacity:1;transform:none;transition:none;overflow:hidden;border-radius:4px;margin-bottom:13px;z-index:0}
.preview{border:0;box-shadow:none;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.project:hover .preview{transform:scale(1.025)}
.preview-caption{left:18px;top:17px;font-size:7px;letter-spacing:.12em}
.screenshot-preview{background:#e1dfd5;padding:42px 25px 23px}.screenshot-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;box-shadow:0 8px 20px #2222;border:1px solid #ddd;border-radius:2px}
.project[data-case=izbalyk] .screenshot-preview{background:#dce6df}.project[data-case=kifood] .screenshot-preview{background:#efe1cc}
.parking-preview{background:#212a29;padding:43px 25px 23px}.parking-screen{padding:13px;background:#131e20;border:1px solid #64726a40;border-radius:4px;height:100%}.parking-top{padding-bottom:11px;font-size:6px;grid-template-columns:1fr .65fr .65fr}.parking-top .status-online{color:var(--acid)}
.parking-grid{grid-template-columns:1.35fr .65fr;gap:10px;height:calc(100% - 50px);margin-top:10px}.camera-scene{position:relative;overflow:hidden}.camera-scene svg{width:100%;height:100%;object-fit:cover;background:#1d272e}.camera-label{position:absolute;left:9px;bottom:10px;color:#d6dedc;font-size:6px;letter-spacing:.07em}.status-panel{min-height:0;padding:12px 10px;background:#1b2928;justify-content:flex-start}.status-panel small{font-size:6px}.status-panel strong{font-size:clamp(10px,1.4vw,20px);margin-top:12px}.status-panel>span{font-size:6px}.plate{margin-top:18px;border:1px solid #949d8d;color:#ecefdf;padding:6px;font-family:monospace;font-size:13px;letter-spacing:-.04em;white-space:nowrap}.plate small{color:var(--soft);font-size:7px}.system-metrics{display:grid;gap:7px;margin-top:auto;padding-top:14px;font-size:6px;color:#99a29c}.system-metrics span{display:flex;justify-content:space-between;gap:5px}.system-metrics b{font-weight:400;color:#d6e8b0}
.parking-event{display:flex;align-items:center;gap:5px;margin-top:9px;font-size:6px;color:#819a92}.parking-event i{height:4px;width:4px;background:var(--acid);border-radius:50%}.parking-event span:last-child{margin-left:auto}
.fashion-preview{background:#d9d5ec}.fashion-word{left:26px;top:44px;font-size:63px;line-height:.95;color:#343048;font-family:Manrope,sans-serif;font-weight:700}.fashion-word span{display:block;font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:36px;letter-spacing:-.06em;margin-top:17px}
.fabric-art{position:absolute;right:0;top:20%;width:43%;height:80%;transform:rotate(13deg);display:flex}.fabric-art i{width:38%;height:120%;background:linear-gradient(90deg,#6b6288,#c1b9d3 40%,#978eac 70%,#696077);border-radius:50% 10% 0 0;box-shadow:0 0 22px #5d507238;transform:skewY(-20deg)}.fabric-art i:nth-child(2){transform:skewY(-20deg) translateY(-15px)}.fabric-art i:nth-child(3){transform:skewY(-20deg) translateY(30px)}
.fashion-caption{font-size:7px;left:26px;bottom:24px;color:#343048}
.services{background:#242821;padding:68px 48px 56px;border-radius:6px;max-width:1536px;margin:auto}.dark-line{border-color:#68705f}.dark-line b{color:#f3f3e9}.dark-line span{color:#b0b7a5}
.service-row{min-height:126px;grid-template-columns:46px 1fr 1fr 34px;gap:24px;border-color:#48513e}.service-row h3{font-size:48px;font-weight:500;letter-spacing:-.05em}.service-row p{color:#adb4a3;font-size:12px;line-height:1.7;max-width:310px}.service-no{color:#89957b}.service-foot{color:#adb4a3;font-size:9px;gap:15px;margin-top:28px}.service-row:focus-visible{outline-color:var(--acid)}
.process-strip{padding:76px 0 70px}.process-line{grid-template-columns:.4fr 1.6fr;gap:45px}.process-line p{font-size:32px;line-height:1.2}.process-steps>div{padding:24px 28px;min-height:175px}.process-steps span{font-size:25px;margin-top:32px}.process-steps p{font-size:12px}
.trust-strip{border-top:0;margin-top:0}.trust-item{min-height:170px;padding:26px}.trust-item p{margin-top:25px;font-size:12px}
.contact{padding:76px 0 60px}.contact-stage{padding-top:40px}.contact-kicker{font-size:10px;color:var(--soft)}.contact h2{font-size:clamp(42px,6vw,90px);line-height:1.08;letter-spacing:-.06em}.contact h2 span{color:#71775f}.contact-row{margin-top:36px;grid-template-columns:1fr 1fr;gap:70px}.contact-main{min-height:84px;padding:20px 25px;font-size:28px;background:var(--acid);border:0;border-radius:3px}.contact-main:hover{background:#c5e45b}.contact-side p{font-size:12px;line-height:1.8}.contact-links{margin-top:18px;gap:20px}.contact-links a{font-size:9px;letter-spacing:.04em}.footer{padding:20px 0 28px;font-size:8px}
.project,.service-row,.manifesto h2,.process-strip,.contact-stage{animation:none}
.case-sheet{width:min(900px,88vw);background:var(--paper);padding:30px 38px 46px;overscroll-behavior:contain}.case-close{z-index:10;position:sticky;top:0;float:right;background:var(--ink);color:var(--paper);border-radius:50%;border:0}.case-sheet-head{padding-top:10px}.case-sheet-head h2{font-size:60px}.case-sheet-head p{font-size:14px;line-height:1.8}.case-actions button,.case-actions a{cursor:pointer;border-radius:3px}.case-hero-visual.has-screenshot{min-height:0;aspect-ratio:1.65;overflow:hidden}.case-hero-visual.has-screenshot::before,.case-hero-visual.has-screenshot::after{display:none}.case-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.demo-disclaimer{font-size:11px;color:var(--soft);line-height:1.65;margin:0 0 18px}.case-meta-row b{overflow-wrap:anywhere}.demo-topbar{gap:12px}.shop-toolbar,.food-toolbar{flex-wrap:wrap}.food-cats{flex-wrap:wrap}
@media(min-width:1600px){.hero{min-height:820px}.hero-art{height:500px}.art-letter{font-size:280px}.orbit-one{width:360px;height:360px}.orbit-two{width:260px;height:260px}.hero-project{bottom:35px}}
@media(max-width:1100px){
 .topbar,.hero,.manifesto,.work,.contact,.footer,.process-strip,.trust-strip{width:calc(100% - 56px)}
 .topbar{grid-template-columns:1fr auto}.availability{display:none}.hero{column-gap:30px;grid-template-columns:1.12fr .88fr;min-height:700px}.hero h1{font-size:clamp(54px,6.3vw,72px)}.hero-art{height:350px;margin-right:16px}.art-letter{font-size:190px;left:20px;top:37px}.orbit-one{width:250px;height:250px;left:7px;top:40px}.orbit-two{width:175px;height:175px;left:45px;top:78px}.art-coordinate{font-size:6px;left:16px}.hero-project{right:-20px;width:84%;bottom:25px}.art-label{font-size:6px;right:14px;top:60px}
 .parking-preview{padding:37px 16px 16px}.screenshot-preview{padding:37px 20px 20px}.parking-grid{gap:6px}.status-panel{padding:8px}.system-metrics{gap:5px}.plate{font-size:10px;margin-top:12px}.fashion-word{font-size:50px}.fashion-word span{font-size:30px}.service-row{grid-template-columns:36px 1fr 1fr 28px;gap:18px}.service-row h3{font-size:40px}.services{padding-left:28px;padding-right:28px}.contact-row{gap:35px}
}
@media(max-width:760px){
 html{scroll-padding-top:82px}.topbar,.hero,.manifesto,.work,.contact,.footer,.process-strip,.trust-strip{width:calc(100% - 40px)}
 .topbar{height:70px}.logo .logo-mark{font-size:25px}.logo b{display:block;font-size:12px}.logo .logo-sub{font-size:6px}.topnav{gap:18px}.topnav a{font-size:10px}.topnav a:nth-child(2){display:none}
 .hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:126px 0 56px;gap:42px}.hero-meta{top:95px;font-size:7px}.hero-side{display:none}.overline{font-size:7px;gap:5px;margin-bottom:26px}.tone-dot{width:5px;height:5px;margin-left:5px}
 .hero h1{font-size:clamp(44px,9.1vw,69px);line-height:.98;letter-spacing:-.065em}.hero-line em{font-size:.42em;display:inline;margin:0}.hero-line-last{margin-top:3px}.hero-bottom{margin-top:24px;gap:23px}.hero-bottom p{font-size:13px;max-width:420px}.arrow-link{min-width:215px;min-height:50px}.hero-contact{font-size:10px;margin-top:17px}
 .hero-art{height:330px;margin:0 15px 28px 8px;max-width:470px;width:calc(100% - 28px);align-self:center}.art-letter{font-size:195px;left:25px}.hero-project{width:77%;right:-18px;bottom:22px}.art-label{font-size:7px;right:16px}.art-coordinate{font-size:7px}.hero-note{font-size:6px;bottom:19px;gap:10px}
 .manifesto{padding:40px 0 46px;grid-template-columns:1fr;gap:21px}.manifesto h2{font-size:30px;line-height:1.17}.manifesto p{font-size:8px}
 .work{padding:45px 0 55px}.section-line{font-size:8px;letter-spacing:.08em}.work-heading{padding:28px 0 25px;align-items:flex-start;flex-direction:column;gap:17px}.work-heading h2{font-size:44px}.work-heading p{font-size:11px}.projects{grid-template-columns:1fr;gap:25px}.project{padding-bottom:20px;gap:6px 9px;grid-template-columns:26px 1fr 36px}.project:hover{padding-bottom:20px}.project-title h3{font-size:28px}.project-title p{max-width:none}.project-type{font-size:7px}.project-preview{aspect-ratio:1.4}.project-arrow{width:35px;height:35px}.parking-grid{grid-template-columns:1.3fr .7fr}.status-panel strong{font-size:11px}.plate{font-size:10px;margin-top:10px}.system-metrics{font-size:5px;padding-top:10px}.preview-caption{font-size:6px;top:15px;left:16px}.fashion-word{font-size:54px;left:21px}.fashion-word span{font-size:30px}
 .services{border-radius:0;padding:45px 20px 38px}.service-row{grid-template-columns:22px 1fr 25px;min-height:140px;gap:8px 12px;padding:24px 0}.service-row h3{font-size:34px}.service-row p{display:block;grid-column:2;grid-row:2;font-size:11px;margin:0;line-height:1.65;max-width:300px}.service-row>b{grid-column:3;grid-row:1}.service-no{font-size:8px}.service-foot{flex-direction:column;align-items:flex-start;gap:13px;font-size:8px}
 .process-strip{padding:45px 0}.process-line{grid-template-columns:1fr;gap:20px}.process-line p{font-size:27px}.process-steps{grid-template-columns:1fr}.process-steps>div{min-height:140px;padding:23px 20px;border-bottom:1px solid var(--line)}.process-steps span{font-size:25px;margin-top:24px}.process-steps p{font-size:12px}.trust-strip{grid-template-columns:1fr}.trust-item{min-height:135px;padding:22px}.trust-item p{margin-top:21px}
 .contact{padding:45px 0}.contact-stage{padding-top:27px}.contact h2{font-size:clamp(40px,10vw,64px);line-height:1.08}.contact-row{grid-template-columns:1fr;gap:26px;margin-top:28px}.contact-main{min-height:74px;font-size:25px}.contact-links a{font-size:9px}.footer{font-size:7px;gap:14px;line-height:1.8}
 .case-sheet{width:100%;padding:20px 20px 40px}.case-sheet-head h2{font-size:48px}.case-sheet-head p{font-size:13px}.case-eyebrow{font-size:8px;line-height:1.7;display:block;max-width:85%}.case-sheet-head{padding-top:20px}.case-hero-visual.has-screenshot{aspect-ratio:1.4}.case-detail-block{padding:23px}.case-next a{font-size:24px}.case-demo-head{gap:12px}.case-demo-head p{font-size:11px}.case-demo-head>span{font-size:8px}.demo-topbar{font-size:8px}.demo-log-line{font-size:8px}.profy-copy{max-width:55%}.swatch{width:35px;height:35px}.food-cat,.shop-chip{min-height:36px}.food-add,.shop-add{min-height:42px}
}
@media(max-width:360px){.logo{gap:7px}.logo b{font-size:10px}.topnav{gap:12px}.topnav a{font-size:9px}.hero h1{font-size:39px}.overline{font-size:6px}.hero-art{height:290px}.art-letter{font-size:175px;left:15px}.orbit-one{width:230px;height:230px}.orbit-two{width:155px;height:155px}.hero-project{width:85%;bottom:20px}.art-coordinate{font-size:6px}.art-label{display:none}.contact h2{font-size:36px}.parking-screen{padding:8px}.parking-preview{padding:35px 12px 12px}.parking-top{font-size:5px}.status-panel{padding:6px}.plate{font-size:8px}.system-metrics{font-size:4px}.parking-event{font-size:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-project,.preview,.arrow-link,.project-arrow{transition:none}.signal-dot,.demo-live i{animation:none}.hero-project:hover{transform:rotate(7deg)}.project:hover .preview{transform:none}}
