/* A static project image becomes a portfolio window; no embedded client sites. */
.project-deck{position:absolute;inset:0;z-index:3;opacity:0;pointer-events:none}
.project-backdrop{position:absolute;inset:0;background:#090a0b;opacity:0}
.project-heading{position:absolute;top:6.5%;left:5%;opacity:0}
.section-label{display:block;font-size:11px;line-height:1.4;color:#969a9d;letter-spacing:.035em;font-weight:400}
.project-heading h2{font-size:clamp(42px,5.5vw,88px);line-height:1;margin:15px 0 0;font-weight:400;letter-spacing:-.065em}
.project-window{position:absolute;left:0;top:0;overflow:hidden;display:block;background:#08090a;transform-origin:0 0;border:1px solid transparent;border-radius:0;text-decoration:none;will-change:transform;pointer-events:none;box-shadow:0 24px 80px #0000;transition:box-shadow .25s}
.project-window img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.project-origin{z-index:2}.project-image{opacity:0;transition:opacity .32s ease,transform .5s ease;transform:scale(.97)}.project-image.is-active{opacity:1;transform:scale(1)}
.window-open{position:absolute;bottom:18px;left:50%;transform:translate(-50%,5px);border:1px solid #ffffff24;background:#111315d9;backdrop-filter:blur(14px);color:#f4f4f2;font-size:12px;white-space:nowrap;padding:11px 17px;border-radius:99px;opacity:0;transition:opacity .2s,transform .2s}
.project-description{position:absolute;opacity:0}.project-title-line{display:flex;align-items:center;justify-content:space-between;gap:20px}.project-description h3{font-weight:400;font-size:24px;letter-spacing:-.025em;margin:0}.project-description p{font-size:13px;color:#9c9fa1;line-height:1.5;margin:10px 0 0;max-width:460px}
.quiet-link{display:inline-flex;min-height:40px;align-items:center;padding:0 10px;margin:0 -10px;border-radius:5px;font-size:12px;line-height:1.4;text-decoration:none;color:#d6d8d8;transition:background .18s,color .18s}
.project-picker{position:absolute;right:5%;top:25%;width:18%;display:grid;gap:24px;opacity:0}
.project-picker button{padding:0;border:0;background:none;text-align:left;color:#a2a5a7;transition:color .2s,transform .25s;transform-origin:right center;cursor:pointer}
.mini-window{display:block;aspect-ratio:16/10;border:1px solid #ffffff21;padding:3px;border-radius:8px;background:#101113;box-shadow:0 12px 35px #0005;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.mini-window img{width:100%;height:100%;display:block;object-fit:contain;border-radius:5px;opacity:.6;transition:opacity .2s}
.mini-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:9px 3px 0}.mini-label>span{color:#707478;font-size:10px}
.project-picker button[aria-pressed=true]{color:#fff;transform:translateX(-10px)}.project-picker button[aria-pressed=true] .mini-window{border-color:#b8bdc1;box-shadow:0 0 0 1px #ffffff0a,0 12px 35px #0006}.project-picker button[aria-pressed=true] img{opacity:1}
.projects-next{position:absolute;right:5%;bottom:5%;opacity:0}.project-deck.is-interactive .project-window,.project-deck.is-interactive .project-description,.project-deck.is-interactive .project-picker,.project-deck.is-interactive .projects-next{pointer-events:auto}
.project-deck :focus-visible,.portfolio-rest :focus-visible{outline:1px solid #e7e9e9;outline-offset:0}
@media(hover:hover){.project-picker button:hover{color:#fff;transform:translateX(-6px)}.project-picker button:hover img{opacity:1}.project-picker button:hover .mini-window{border-color:#ffffffa0}.project-window:hover{box-shadow:0 25px 100px #000c}.project-window:hover .window-open,.project-window:focus-visible .window-open{opacity:1;transform:translate(-50%,0)}.quiet-link:hover{color:#fff;background:#ffffff12}}
.quiet-link:active{background:#ffffff1c}
.portfolio-rest{position:relative;z-index:5;background:#090a0b}
.service-story{position:relative;padding:80px 6vw}.service-stage{position:relative}.service-topline{display:flex;justify-content:space-between;align-items:center}.service-topline nav{display:flex;gap:12px}.service-topline button{width:40px;min-height:40px;padding:0;background:none;border:1px solid transparent;border-radius:50%;font-size:11px;color:#74787c;transition:color .2s,border-color .2s,background .2s;cursor:pointer}.service-topline button[aria-pressed=true]{border-color:#ffffff55;color:#fff}.service-topline button:hover{background:#ffffff10;color:#fff}
.service-copy{position:relative;margin:100px 0;max-width:550px}.service-count{display:block;color:#858a8e;font-size:12px;margin-bottom:24px}.service-copy h2{font-weight:400;letter-spacing:-.065em;font-size:clamp(48px,6.3vw,104px);line-height:1.02;margin:0 0 30px}.service-copy p{font-size:clamp(14px,1.2vw,18px);line-height:1.65;color:#a3a7aa;margin:0}.service-price{font-size:11px;color:#767c80;margin:0}.service-glow,.service-model{display:none}
.journey-ready .service-story{padding:0;height:330svh}.journey-ready .service-stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;perspective:1400px}.journey-ready .service-topline{position:absolute;top:32px;left:6%;right:6%;z-index:3}.journey-ready .service-copy{position:absolute;left:6%;top:50%;width:40%;margin:0;transform:translateY(-50%);opacity:0;z-index:2;pointer-events:none}.journey-ready .service-copy[data-step="1"]{left:57%;width:37%}.journey-ready .service-price{position:absolute;left:6%;bottom:30px;z-index:2}.journey-ready .service-glow{display:block;position:absolute;left:55%;top:20%;width:50%;height:65%;border-radius:50%;background:radial-gradient(ellipse,#a1b6c116,transparent 67%);pointer-events:none}
.journey-ready .service-model{display:block;position:absolute;left:0;top:50%;width:min(45vw,660px);aspect-ratio:1.55;perspective:1400px;transform-style:preserve-3d;z-index:1;will-change:transform}
.web-plane{position:absolute;inset:0;overflow:hidden;border:1px solid #f5f5f599;border-radius:10px;background:#c5c9ca;color:#292e32;box-shadow:0 30px 75px #0008;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform}.plane-front{z-index:3;background:linear-gradient(120deg,#e5e8e8,#aeb5b8)}.plane-middle{z-index:2;background:#a6afb3}.plane-back{z-index:1;background:#899398}.browser-bar{height:10%;min-height:18px;display:flex;align-items:center;gap:4px;padding:0 3%;border-bottom:1px solid #525b5f25;font-size:7px;color:#4c5559}.browser-bar i{height:3px;width:3px;border-radius:50%;background:#626b70}.browser-bar span{margin-left:auto;margin-right:auto;transform:translateX(-10px)}
.wire-content{position:relative;height:90%;padding:6% 7%;overflow:hidden}.wire-brand{display:block;font-size:8px;letter-spacing:.04em;margin-bottom:7%;font-weight:500}.wire-content b{position:relative;z-index:2;display:block;font-size:clamp(15px,2.8vw,39px);line-height:1.05;font-weight:500;letter-spacing:-.055em;margin-bottom:5%}.wire-line{display:block;width:35%;height:3px;border-radius:2px;background:#65737a45;margin-top:4px}.wire-line.short{width:24%}.wire-button{display:block;width:13%;height:6%;min-height:8px;border-radius:15px;background:#3d484e;margin-top:6%}.wire-m{position:absolute;right:6%;top:4%;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(90px,17vw,250px);font-weight:400;line-height:1;background:linear-gradient(130deg,#ffffffba,#667b85);background-clip:text;color:transparent;-webkit-text-stroke:.5px #ffffff60;filter:drop-shadow(5px 10px 5px #344f6225);transform:rotate(-8deg)}.wire-contacts b,.wire-projects b{font-size:clamp(17px,3vw,42px);margin-top:4%}.wire-grid{display:flex;gap:5%;height:45%;margin-top:8%}.wire-grid i{flex:1;background:linear-gradient(145deg,#eceded99,#647c8688);border-radius:3px}
/* Short closing copy and a single direct contact button. */
.process-section{padding:104px 6vw 80px;display:grid;grid-template-columns:1fr;row-gap:24px;background:#0d0e0f}
.process-heading h2{font-size:clamp(48px,6.6vw,108px);font-weight:400;letter-spacing:-.065em;line-height:1.02;margin:0}
.process-intro{max-width:520px}
.process-intro p{font-size:clamp(18px,1.6vw,22px);line-height:1.4;letter-spacing:-.025em;color:#b5b8b9;margin:0}
.process-list{grid-column:1/-1;list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}
.process-list li{padding:24px 0 0;border-top:1px solid #ffffff30}
.process-list h3{font-size:clamp(26px,3vw,44px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin:0 0 16px}
.process-list p{font-size:14px;color:#9fa3a5;line-height:1.6;margin:0;max-width:320px}
.contact-section{padding:100px 6vw 104px}
.contact-section h2{font-size:clamp(72px,12vw,180px);font-weight:400;letter-spacing:-.075em;line-height:.98;margin:0 0 44px}
.telegram-icon{width:23px;height:23px;flex:none}
.contact-link{gap:12px;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:0 32px;border:1px solid #eeefea;border-radius:99px;background:#eeefea;color:#101112;text-decoration:none;font-size:18px;letter-spacing:-.025em;line-height:1.3;transition:transform .16s ease-out,color .22s ease-out}
.contact-link::before{content:"";position:absolute;inset:0;background:#191b1c;border-radius:inherit;transform:translateY(105%);transition:transform .26s cubic-bezier(.23,1,.32,1);z-index:-1}
@media(hover:hover){.contact-link:hover{color:#eeefea}.contact-link:hover::before{transform:translateY(0)}}
.contact-link:active{transform:scale(.97)}
.contact-link:focus-visible{outline:2px solid #fff;outline-offset:0}
@media(prefers-reduced-motion:reduce){.contact-link,.contact-link::before{transition:none}}
.site-footer{margin:0 6vw;padding:28px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff20;font-size:11px;color:#858a8e}
.site-footer a{font-size:14px;color:#eff0ef;text-decoration:none;padding:8px 0;letter-spacing:-.04em}
.journey-ready [data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.journey-ready [data-reveal].is-revealed{opacity:1;transform:translateY(0)}
@media(max-width:700px),(pointer:coarse) and (max-width:1024px){
 .project-heading{top:28px;left:20px}.project-heading h2{font-size:40px;margin-top:10px}.section-label{font-size:10px}.project-picker{right:20px;left:20px;width:auto;display:flex;gap:14px}.project-picker button{width:calc(50% - 7px);transform:none!important}.mini-window{height:74px;aspect-ratio:auto}.mini-label{font-size:11px;margin-top:7px}.project-description h3{font-size:24px}.project-description p{font-size:12px;margin-top:6px;max-width:300px}.project-open{font-size:11px}.projects-next{right:20px;bottom:22px}.window-open{display:none}
 .journey-ready .service-story{height:300svh}.journey-ready .service-topline{top:20px;left:24px;right:24px}.service-topline nav{gap:3px}.service-topline button{width:32px;min-height:32px;font-size:10px}.journey-ready .service-copy,.journey-ready .service-copy[data-step="1"]{left:24px;top:auto;bottom:12%;width:calc(100% - 48px);transform:none}.service-copy h2{font-size:clamp(40px,11.5vw,68px);margin-bottom:18px}.service-copy p{font-size:13px;line-height:1.55}.service-count{margin-bottom:12px;font-size:10px}.journey-ready .service-model{width:70vw;top:34%;perspective:900px}.journey-ready .service-price{left:24px;right:24px;bottom:24px;font-size:10px}.journey-ready .service-glow{left:0;top:6%;width:100%;height:55%}.wire-content b{font-size:6vw}.wire-m{font-size:34vw}.wire-brand{font-size:6px}.wire-line{height:2px}.browser-bar{font-size:6px;gap:3px}.browser-bar i{width:2px;height:2px}.wire-contacts b,.wire-projects b{font-size:6vw}
 .process-section{padding:64px 24px 40px;display:block}.process-heading h2{font-size:clamp(44px,10.8vw,72px);margin:0 0 24px}.process-intro{max-width:400px}.process-intro p{font-size:20px;line-height:1.45}.process-list{display:block;margin-top:36px}.process-list li{padding:20px 0 24px}.process-list h3{font-size:28px;margin-bottom:10px}.process-list p{font-size:14px;max-width:360px}.contact-section{padding:64px 24px 68px}.contact-section h2{font-size:clamp(50px,14vw,84px);margin-bottom:32px}.contact-link{min-height:60px;font-size:17px;padding:0 28px}.site-footer{margin:0 24px;font-size:10px}.site-footer a{font-size:12px}
}
@media(max-height:600px) and (min-width:701px){.project-heading{top:18px}.project-heading h2{font-size:38px;margin:5px 0}.project-picker{gap:12px}.project-description p{font-size:11px}.project-description h3{font-size:20px}.journey-ready .service-topline{top:12px}.service-copy h2{font-size:46px;margin-bottom:15px}.service-copy p{font-size:13px}.service-count{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.project-image,.project-picker button,.quiet-link{transition:none}.journey-ready .service-story{height:auto;padding:60px 6vw}.journey-ready .service-stage{height:auto;position:relative;overflow:visible}.journey-ready .service-topline{position:relative;inset:auto}.journey-ready .service-model,.journey-ready .service-glow{display:none}.journey-ready .service-copy,.journey-ready .service-copy[data-step="1"]{position:relative;left:auto;top:auto;bottom:auto;width:auto;opacity:1!important;transform:none!important;margin:70px 0;pointer-events:auto}.journey-ready .service-price{position:relative;inset:auto}.journey-ready [data-reveal]{opacity:1;transform:none;transition:none}}

/* Five real projects, with more room for the main preview. */
.project-heading{top:3%;}.project-heading h2{margin:0;font-size:clamp(42px,5.1vw,76px)}
.project-picker{top:16%;gap:14px;width:18%;}
.project-picker button{display:grid;grid-template-columns:minmax(0,1fr) 62px;align-items:center;gap:12px;}
.mini-label{display:block;margin:0;font-size:11px;line-height:1.3}.mini-window{aspect-ratio:1.6}
@media(max-width:700px),(pointer:coarse) and (max-width:1024px){
 .project-heading{top:25px}.project-heading h2{font-size:40px}
 /* Keep thumbnail scrolling free: native snap settling can consume the next vertical swipe. */
 .project-picker{width:auto;display:flex;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;gap:12px;padding:3px 0 10px}.project-picker::-webkit-scrollbar{display:none}
 .project-picker button{display:block;flex:0 0 100px;width:100px}.mini-window{height:64px}.mini-label{font-size:11px;margin:8px 2px 0}
}
@media(max-height:620px) and (min-width:701px){.project-picker{gap:8px}.project-picker button{grid-template-columns:minmax(0,1fr) 60px}.mini-window{max-height:65px}.mini-label{font-size:10px}}

/* The existing metallic cursor follows the pointer over every section. */
.cursor-host.site-cursor{position:fixed;inset:0;z-index:100;pointer-events:none}
.cursor-shadow.site-cursor{position:fixed;left:0;top:0;z-index:99;pointer-events:none}

/* Interface artwork stays inert; descriptive copy remains selectable. */
h1,h2,h3,h4,h5,h6,button,a,nav,.intro-caption,.section-label,.service-count,.service-model,.site-footer,img,canvas,svg{-webkit-user-select:none;user-select:none}
img,a{-webkit-user-drag:none}
.project-picker img{pointer-events:none}
.project-description p,.service-copy p,.service-price,.process-section p,.contact-channel{-webkit-user-select:text;user-select:text}
.journey-ready .service-copy p{pointer-events:auto}

/* Resizing the offscreen entry reserve must not scroll-anchor the following section. */
.journey-ready .scroll-scene,.journey-ready .portfolio-rest{overflow-anchor:none}
.project-window .project-origin{object-fit:fill}
.scroll-scene{position:relative;scroll-snap-align:none}
.service-topline .service-title{margin:0;color:#f4f4f2;font-size:clamp(20px,2.2vw,30px);letter-spacing:-.035em;font-weight:400}

/* Case geometry follows the viewport shape, including phones held sideways. */
.stage[data-case-layout="wide"] .project-heading{top:3%;left:5%}
.stage[data-case-layout="wide"] .project-heading h2{font-size:var(--case-title-size);margin:0}
.stage[data-case-layout="wide"] .project-picker{display:grid;gap:var(--case-row-gap);padding:0;overflow:visible}
.stage[data-case-layout="wide"] .project-picker button{display:grid;grid-template-columns:var(--case-thumb-width) minmax(0,1fr);align-items:center;gap:12px;width:100%;transform:none!important}
.stage[data-case-layout="wide"] .mini-window{height:var(--case-thumb-height);max-height:none;aspect-ratio:1.6}
.stage[data-case-layout="wide"] .mini-label{font-size:11px;margin:0}
.stage[data-case-layout="stacked"] .project-picker{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:3px 0 10px;scrollbar-width:none}
.stage[data-case-layout="stacked"] .project-picker button{display:block;flex:0 0 100px;width:100px;transform:none!important}
.stage[data-case-layout="stacked"] .mini-window{height:64px;max-height:none}
.stage[data-case-layout="stacked"] .mini-label{margin:8px 2px 0;font-size:11px}
@media(max-height:500px){
 .stage[data-case-layout="wide"] .project-description h3{font-size:20px}
 .stage[data-case-layout="wide"] .project-description p{font-size:11px;line-height:1.4;margin-top:4px;max-width:none}
 .stage[data-case-layout="wide"] .project-title-line{min-height:26px;gap:10px}
 .stage[data-case-layout="wide"] .project-open{min-height:26px;font-size:10px}
}
