@font-face{font-family:Golos;src:url("./fonts/golos-text-cyrillic-wght-normal.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Golos;src:url("./fonts/golos-text-latin-wght-normal.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-024F}
@font-face{font-family:Plex Mono;src:url("./fonts/ibm-plex-mono-cyrillic-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Plex Mono;src:url("./fonts/ibm-plex-mono-latin-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-024F}
@font-face{font-family:Plex Mono;src:url("./fonts/ibm-plex-mono-cyrillic-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Plex Mono;src:url("./fonts/ibm-plex-mono-latin-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-024F}
:root{--bg:#fff7fb;--paper:#fffdfd;--ink:#241827;--muted:#705d6d;--line:#e9cddd;--acid:#f3a8cf;--teal:#a43f7a;--dark:#241827;--darkline:#53384f}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 Golos,Arial,sans-serif}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}button,input,textarea{font:inherit}::selection{background:var(--acid);color:var(--ink)}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.wrap{width:min(100% - 80px,1450px);margin-inline:auto}.skip-link{position:absolute;z-index:100;left:-999px;top:10px;background:var(--acid);padding:10px}.skip-link:focus{left:10px}
.eyebrow,.wordmark,.primary-nav,.header-cta,.button,.under-link,.window-bar,.window-status,.panel-caption,.flow-line,.panel-foot,.case-id,.case-kind,.case-link,.case-data,.compact-flow,.data-label,.data-bottom,.service-number,.method-line,.about-symbol,.contact-note,.footer-inner,.legal-label{font-family:"Plex Mono",Consolas,monospace}
.eyebrow{font-size:.7rem;line-height:1.5;letter-spacing:.065em;text-transform:uppercase}.site-header{background:rgba(255,247,251,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.header-inner{height:76px;display:flex;align-items:center;gap:45px}.wordmark{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;text-decoration:none;font-size:.98rem;font-weight:600;letter-spacing:-.04em}.wordmark-mark{background:var(--ink);color:var(--acid);padding:5px 6px;font-size:.68rem;letter-spacing:-.08em}.cursor{color:var(--teal);animation:blink 1.15s steps(1) infinite}.primary-nav{display:flex;gap:33px;margin-left:auto}.primary-nav a,.header-cta{font-size:.73rem;text-decoration:none}.primary-nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--ink);padding:12px 15px}.header-cta span{font-size:1rem}
.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:5.8vw;align-items:center;padding-top:58px;padding-bottom:120px;min-height:720px}.signal{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #a43f7a26;vertical-align:2px;margin-right:8px}.eyebrow-tail{color:var(--muted)}.hero h1{font-size:clamp(4.3rem,5.7vw,5.4rem);line-height:1.02;letter-spacing:-.075em;font-weight:750;margin:28px 0 28px;max-width:900px}.highlight{white-space:nowrap;background:linear-gradient(transparent 63%,var(--acid) 63%);padding-right:.07em}.hero-lead{font-size:clamp(1.13rem,1.5vw,1.42rem);line-height:1.55;max-width:600px;color:#4c3949}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:37px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;text-decoration:none;font-size:.8rem;font-weight:600;padding:17px 19px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--teal)}.under-link{font-size:.8rem;text-decoration:none;border-bottom:1px solid var(--ink);padding:12px 0}
.system-panel{background:var(--dark);color:#fff1f8;border:1px solid var(--dark);box-shadow:20px 20px 0 #f5d2e5;min-width:0;transform:rotate(1.1deg)}.window-bar,.window-status{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.59rem;letter-spacing:.04em;color:#d9b8cd;padding:14px 17px;border-bottom:1px solid var(--darkline)}.window-dots{display:flex;gap:5px}.window-dots i{width:7px;height:7px;border-radius:50%;background:#a87e9e}.window-dots i:first-child{background:var(--acid)}.window-bar>span:last-child{color:#ac85a0}.panel-inner{position:relative;padding:52px 26px 39px}.panel-caption{color:var(--acid);font-size:.72rem;margin:0 0 26px}.flow-line{position:relative;z-index:2;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:11px;min-height:74px;border-top:1px solid var(--darkline);font-size:.7rem}.flow-line b{font-weight:400;color:#efbdd8;text-align:right}.flow-line.is-result{border-bottom:1px solid var(--darkline);color:var(--acid)}.flow-line.is-result b{color:var(--acid)}.flow-index{color:#b08ba3}.flow-route{position:absolute;left:35px;top:140px;display:flex;flex-direction:column;gap:67px}.flow-route span{width:7px;height:7px;border:1px solid var(--acid);background:var(--dark);border-radius:50%}.flow-route:before{content:"";position:absolute;left:3px;top:4px;bottom:4px;border-left:1px dashed #936d88}.panel-foot{font-size:.69rem;line-height:1.65;color:#e5bfd4;margin-top:38px;max-width:310px}.terminal-caret{color:var(--acid);animation:blink 1.15s steps(1) infinite}.window-status{border-top:1px solid var(--darkline);border-bottom:0;font-size:.53rem}
.work-section{background:var(--paper);border-top:1px solid var(--line);padding:105px 0 130px}.section-heading{display:grid;grid-template-columns:1fr minmax(260px,400px);gap:6vw;align-items:end;margin-bottom:65px}.section-heading h2{font-size:clamp(4.5rem,7.2vw,8.5rem);font-weight:750;letter-spacing:-.075em;line-height:1;margin-top:22px}.section-heading>p{color:var(--muted);line-height:1.65;font-size:.92rem;max-width:400px}
.case-list{border-top:1px solid var(--ink)}.case{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(260px,38%);gap:3.2vw;border-bottom:1px solid var(--line);padding:34px 0;align-items:start}.case-id{font-size:.84rem;font-weight:600}.case-id span{display:block;color:var(--muted);font-size:.62rem;font-weight:400;margin-top:5px}.case-content{padding:2px 0 8px}.case-kind{color:var(--teal);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;margin-bottom:16px}.case h3{font-size:clamp(2.2rem,3.25vw,4rem);line-height:1.12;letter-spacing:-.055em;font-weight:700;max-width:600px}.case-content>p:not(.case-kind){max-width:570px;color:#4f3d4b;margin-top:18px;line-height:1.6;font-size:.93rem}.case-outcome{display:flex;flex-direction:column;gap:3px;border-left:3px solid var(--teal);padding-left:14px;margin:25px 0 28px}.case-outcome>span{text-transform:uppercase;letter-spacing:.05em;font-size:.59rem;color:var(--teal)}.case-outcome strong{font-size:.91rem;font-weight:650}.case-outcome small{font-size:.65rem;line-height:1.5;color:var(--muted);max-width:500px;margin-top:5px}.case-link{display:inline-flex;gap:35px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:.73rem;font-weight:600}.case-link:hover{color:var(--teal)}.case-art{display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:330px;background:#eee2eb}.case-art img{max-height:330px;width:100%;height:330px;object-fit:cover;transition:transform .35s}.case-art:hover img{transform:scale(1.035)}.case-tooth{background:#f8edf4}.case-tooth img{object-fit:contain;padding:7px}.case-machine{background:#e5d8e1}.case-machine img{object-fit:contain}.case-workshop img{object-fit:cover}.case-reverse .case-art{grid-column:2;grid-row:1}.case-reverse .case-content{grid-column:3;grid-row:1}.case-data{background:#fff0f7;margin-inline:-24px;padding-inline:24px}.data-art{height:330px;background:var(--dark);color:var(--acid);padding:26px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.data-label,.data-bottom{font-size:.64rem;letter-spacing:.04em}.data-art strong{font-size:clamp(4.4rem,7vw,8.5rem);line-height:.9;letter-spacing:-.12em;font-weight:600}.data-art strong span{color:#fff0f7}.case-compact{grid-template-columns:90px minmax(0,1fr) minmax(220px,33%);padding:30px 0}.case-compact .case-kind{margin-bottom:9px}.case-compact h3{font-size:clamp(1.8rem,2.4vw,3rem)}.case-compact .case-content>p:not(.case-kind){margin-top:10px}.case-compact .case-link{margin-top:19px}.compact-flow{align-self:center;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;font-size:.61rem;color:var(--teal)}.compact-flow span{padding:7px 8px;border:1px solid var(--line);white-space:nowrap}.compact-flow b{font-weight:400}
.services-section{background:var(--dark);color:var(--paper);padding:110px 0 95px}.section-heading-light h2{font-size:clamp(3.7rem,5.8vw,7.2rem);max-width:900px}.section-heading-light>p{color:#e3c1d6}.services-section .eyebrow,.service-number{color:var(--acid)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--darkline);border-bottom:1px solid var(--darkline)}.service-grid article{padding:37px 36px 48px 0;min-height:250px}.service-grid article+article{padding-left:36px;border-left:1px solid var(--darkline)}.service-number{font-size:.65rem}.service-grid h3{font-size:clamp(1.8rem,2.4vw,3.1rem);line-height:1.1;letter-spacing:-.045em;margin:43px 0 15px}.service-grid p{font-size:.85rem;line-height:1.65;color:#dcbacf;max-width:300px}.method-line{display:grid;grid-template-columns:25% 1fr;gap:5vw;padding-top:40px}.method-line>span{font-size:.7rem;color:var(--acid);text-transform:uppercase}.method-line p{font-size:clamp(1.3rem,1.9vw,2rem);max-width:920px;line-height:1.55;letter-spacing:-.025em}
.about-section{display:grid;grid-template-columns:36% 1fr;gap:6vw;padding-top:120px;padding-bottom:130px}.about-index{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.about-symbol{font:600 clamp(4rem,7vw,8rem)/1 "Plex Mono",monospace;letter-spacing:-.12em;color:var(--teal);transform:rotate(-8deg);margin:100px 0 20px}.about-copy h2{font-size:clamp(4.2rem,7vw,8.2rem);line-height:1.03;letter-spacing:-.075em}.about-alias{color:var(--teal);font-size:.8rem;margin:12px 0 36px}.about-copy>p:not(.about-alias){font-size:1rem;line-height:1.7;max-width:630px;margin:0 0 18px;color:#4a3847}
.contact-section{background:var(--acid);padding:85px 0 100px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}.contact-section h2{font-size:clamp(3.6rem,6.3vw,7.5rem);line-height:1.06;letter-spacing:-.07em;margin-top:25px}.contact-section h2 span{color:#874569}.contact-details p{font-size:1rem;line-height:1.65;max-width:450px}.contact-mail{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(1rem,1.65vw,1.5rem);font-weight:650;letter-spacing:-.03em;text-decoration:none;border-bottom:2px solid var(--ink);padding:18px 0 12px;margin:35px 0 18px;overflow-wrap:anywhere}.contact-note{font-size:.65rem;color:#694159}
.site-footer{background:var(--ink);color:#ead2e2}.footer-inner{display:flex;align-items:center;gap:40px;min-height:92px;font-size:.67rem}.footer-brand{color:#fff4fb}.footer-brand .wordmark-mark{background:var(--acid);color:var(--ink)}.footer-inner>span{margin-left:auto}.footer-inner nav{display:flex;gap:22px;flex-wrap:wrap}.footer-inner nav a{text-decoration:none}.footer-inner nav a:hover{text-decoration:underline}
.legal-page{min-height:70vh;padding:110px 0 150px;display:grid;grid-template-columns:30% 1fr;gap:6vw}.legal-label{font-size:.7rem;color:var(--teal);text-transform:uppercase}.legal-page h1{font-size:clamp(3.8rem,7vw,7rem);line-height:1.05;letter-spacing:-.07em;margin-bottom:45px}.legal-page p{max-width:720px;line-height:1.75;margin:0 0 20px;color:#4a3847}
@keyframes blink{50%{opacity:0}}
@media(max-width:1200px){.wrap{width:min(100% - 56px,1450px)}.hero{grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:3vw}.hero h1{font-size:clamp(3.2rem,5.7vw,7rem)}.eyebrow-tail{display:none}.case{grid-template-columns:64px minmax(0,1fr) minmax(240px,38%);gap:2.7vw}.case-compact{grid-template-columns:64px minmax(0,1fr) minmax(200px,33%)}}
@media(max-width:920px){.primary-nav{gap:18px}.header-cta{display:none}.hero{grid-template-columns:1fr;padding-top:55px;gap:75px}.hero h1{font-size:clamp(4rem,9vw,7rem)}.system-panel{width:min(100% - 22px,640px);margin-left:0}.case,.case-compact{grid-template-columns:52px minmax(0,1fr) minmax(200px,37%)}.case-art,.case-art img,.data-art{height:270px;min-height:270px}.case h3{font-size:clamp(2rem,4vw,3.4rem)}.compact-flow{justify-content:flex-start}.service-grid article{padding-right:20px}.service-grid article+article{padding-left:20px}}
@media(max-width:760px){html{scroll-padding-top:70px}.wrap{width:min(100% - 36px,1450px)}.header-inner{height:65px}.wordmark{font-size:.84rem}.primary-nav{gap:14px}.primary-nav a{font-size:.66rem}.primary-nav a:nth-child(2){display:none}.hero{padding:45px 0 90px;gap:50px;min-height:0}.hero h1{font-size:clamp(3.3rem,10.2vw,5.3rem);margin:24px 0}.hero-lead{font-size:1.04rem}.system-panel{transform:none;box-shadow:10px 10px 0 #f5d2e5}.work-section{padding:80px 0 100px}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:45px}.section-heading h2{font-size:clamp(3.6rem,11vw,6rem)}.section-heading>p{max-width:560px}.case,.case-compact{grid-template-columns:1fr;gap:0;padding:28px 0 38px}.case-id{margin-bottom:20px}.case-id span{display:inline;margin-left:7px}.case-content{grid-column:1!important;grid-row:auto!important}.case-art,.case-reverse .case-art,.data-art{grid-column:1;grid-row:auto;margin-top:28px}.case-art,.case-art img,.data-art{height:300px;min-height:300px}.case-data{margin-inline:-18px;padding-inline:18px}.case-compact{padding:28px 0}.compact-flow{margin-top:24px}.services-section{padding:80px 0}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:28px 0;min-height:0;border-left:0}.service-grid article+article{border-top:1px solid var(--darkline)}.service-grid h3{margin:18px 0 8px}.method-line{grid-template-columns:1fr;gap:18px}.about-section{grid-template-columns:1fr;padding-block:85px;gap:30px}.about-symbol{display:none}.about-copy h2{font-size:clamp(3.8rem,11vw,6rem)}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-section h2{font-size:clamp(3.6rem,10vw,6rem)}.footer-inner{padding:30px 0;align-items:start;flex-direction:column;gap:16px}.footer-inner>span{margin-left:0}.legal-page{grid-template-columns:1fr;gap:25px;padding:80px 0 100px}}
@media(max-width:430px){.wrap{width:min(100% - 30px,1450px)}.header-inner{gap:10px}.primary-nav{margin-left:auto;gap:10px}.primary-nav a{font-size:.59rem}.primary-nav a:nth-child(3){display:none}.hero h1{font-size:clamp(2.65rem,10.5vw,4.1rem)}.highlight{white-space:normal}.hero-actions{gap:14px}.panel-inner{padding:35px 16px}.flow-line{grid-template-columns:24px 1fr auto;font-size:.61rem;gap:6px}.flow-route{left:24px;top:123px}.case h3{font-size:2.45rem}.case-art,.case-art img,.data-art{height:245px;min-height:245px}.data-art strong{font-size:5rem}.contact-mail{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor,.terminal-caret{animation:none}.button,.case-art img{transition:none}}
@media(max-width:430px){.case-data{margin-inline:-15px;padding-inline:15px}}
/* Multi-page navigation and compact home previews */
.primary-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.section-heading h1{font-size:clamp(4.5rem,7.2vw,8.5rem);font-weight:750;letter-spacing:-.075em;line-height:1;margin-top:22px}
.section-heading-light h1{font-size:clamp(3.7rem,5.8vw,7.2rem);max-width:900px}
.about-copy h1{font-size:clamp(4.2rem,7vw,8.2rem);line-height:1.03;letter-spacing:-.075em}
.contact-section h1{font-size:clamp(3.6rem,6.3vw,7.5rem);line-height:1.06;letter-spacing:-.07em;margin-top:25px}
.contact-section h1 span{color:#874569}
.home-preview{padding:100px 0}
.preview-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:35px;margin-bottom:48px}
.preview-heading h2{font-size:clamp(3.4rem,5.8vw,6.8rem);font-weight:750;line-height:1.06;letter-spacing:-.07em;margin-top:19px}
.preview-all{display:inline-flex;align-items:center;gap:28px;justify-content:space-between;white-space:nowrap;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:10px;font:600 .76rem/1.4 "Plex Mono",Consolas,monospace}
.preview-all:hover{color:var(--teal)}
.preview-work{background:var(--paper);border-top:1px solid var(--line)}
.preview-list{border-top:1px solid var(--ink)}
.preview-list>a{display:grid;grid-template-columns:105px minmax(0,1fr) minmax(180px,32%) 26px;gap:20px;align-items:center;padding:26px 12px 26px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}
.preview-list>a:hover{background:#fff0f7;padding-left:12px}
.preview-list span,.preview-list em{font:400 .68rem/1.5 "Plex Mono",Consolas,monospace;color:var(--muted);font-style:normal}
.preview-list strong{font-size:clamp(1.6rem,2.4vw,2.8rem);font-weight:650;letter-spacing:-.045em;line-height:1.2}
.preview-list b{font-weight:400;font-size:1.3rem;text-align:right}

.preview-services{background:var(--dark);color:var(--paper)}
.preview-services .eyebrow{color:var(--acid)}
.preview-services .preview-all:hover{color:var(--acid)}
.preview-service-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--darkline);border-bottom:1px solid var(--darkline)}
.preview-service-line span{padding:27px 20px 27px 0;font:400 .77rem/1.4 "Plex Mono",Consolas,monospace;color:#e3cadd}
.preview-service-line span+span{padding-left:25px;border-left:1px solid var(--darkline)}
.preview-about{background:var(--bg)}
.preview-about-grid{display:grid;grid-template-columns:1fr minmax(260px,390px);gap:8vw;align-items:end;margin-top:28px}
.preview-about h2{font-size:clamp(4rem,6.5vw,7.7rem);line-height:1.04;font-weight:750;letter-spacing:-.075em}
.preview-about h2 span{color:var(--teal)}
.preview-about-grid p{font-size:1.03rem;line-height:1.65;color:#4a3847;margin-bottom:27px}
.preview-contact{background:var(--acid);padding:85px 0}
.preview-contact-grid{display:grid;grid-template-columns:1fr minmax(290px,390px);gap:6vw;align-items:end}
.preview-contact h2{font-size:clamp(3.5rem,6vw,7rem);letter-spacing:-.07em;line-height:1.05;margin-top:20px}
.preview-contact-grid>div:last-child p{line-height:1.65;margin-bottom:24px}
.detail-section{padding:100px 0 130px}
.detail-head{display:grid;grid-template-columns:25% 1fr;gap:5vw;align-items:start;margin-bottom:60px}
.detail-head h2{font-size:clamp(2.8rem,4.5vw,5.3rem);letter-spacing:-.06em;line-height:1.12;max-width:900px}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.detail-grid article{padding:25px 30px 40px 0;border-bottom:1px solid var(--line)}
.detail-grid article+article{padding-left:30px;border-left:1px solid var(--line)}
.detail-grid article>span{font:.68rem "Plex Mono",Consolas,monospace;color:var(--teal)}
.detail-grid h3{font-size:clamp(1.6rem,2.2vw,2.7rem);letter-spacing:-.05em;line-height:1.15;margin:35px 0 15px}
.detail-grid p{font-size:.87rem;line-height:1.7;color:#584454}
.detail-close{display:grid;grid-template-columns:1fr minmax(240px,330px) auto;gap:3vw;align-items:end;background:#fff0f7;padding:42px;margin-top:80px}
.detail-close h2{font-size:clamp(2.1rem,3vw,3.6rem);line-height:1.1;letter-spacing:-.055em;margin-top:15px}
.detail-close p{font-size:.86rem;line-height:1.65;color:#5f485a}
.detail-close .button{white-space:nowrap}
.contact-brief{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw;row-gap:35px;padding-top:85px;padding-bottom:115px}
.contact-brief h2{font-size:clamp(2.8rem,4.4vw,5rem);line-height:1.1;letter-spacing:-.06em;margin-top:19px}
.contact-brief ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.contact-brief li{display:grid;grid-template-columns:40px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);line-height:1.5}
.contact-brief li span{font:.72rem "Plex Mono",Consolas,monospace;color:var(--teal)}
.contact-brief>p{grid-column:2;color:var(--muted);line-height:1.65}
@media(max-width:920px){.detail-close{grid-template-columns:1fr 1fr}.detail-close .button{grid-column:2;justify-self:start}.preview-list>a{grid-template-columns:75px minmax(0,1fr) minmax(160px,32%) 20px;gap:12px}}
@media(max-width:760px){.home-preview{padding:75px 0}.preview-heading{grid-template-columns:1fr;gap:27px}.preview-heading h2{font-size:clamp(3.3rem,10vw,5rem)}.preview-heading .preview-all{justify-self:start}.preview-list>a{grid-template-columns:1fr 25px;gap:6px;padding:22px 0}.preview-list span{grid-column:1/-1}.preview-list strong{grid-column:1}.preview-list em{grid-column:1}.preview-list b{grid-column:2;grid-row:2/4}.preview-service-line{grid-template-columns:1fr}.preview-service-line span,.preview-service-line span+span{padding:18px 0;border-left:0}.preview-service-line span+span{border-top:1px solid var(--darkline)}.preview-about-grid{grid-template-columns:1fr;gap:30px}.preview-about h2{font-size:clamp(3.5rem,10vw,5rem)}.preview-contact-grid{grid-template-columns:1fr;gap:30px}.section-heading h1{font-size:clamp(3.6rem,11vw,6rem)}.about-copy h1{font-size:clamp(3.8rem,11vw,6rem)}.contact-section h1{font-size:clamp(3.6rem,10vw,6rem)}.detail-section{padding:75px 0 95px}.detail-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.detail-grid{grid-template-columns:1fr}.detail-grid article,.detail-grid article+article{border-left:0;padding:25px 0}.detail-grid article+article{border-top:1px solid var(--line)}.detail-grid h3{margin-top:17px}.detail-close{grid-template-columns:1fr;gap:25px;padding:28px;margin-top:55px}.detail-close .button{grid-column:1}.contact-brief{grid-template-columns:1fr;padding-block:75px}.contact-brief>p{grid-column:1}}
@media(max-width:430px){.preview-list strong{font-size:1.7rem}.preview-about h2{font-size:3.35rem}.preview-contact h2{font-size:3.5rem}}
.mobile-menu{display:none}
.mobile-menu summary{list-style:none;cursor:pointer;font:600 .72rem "Plex Mono",Consolas,monospace;border:1px solid var(--ink);padding:10px 12px;display:flex;align-items:center;gap:12px}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary span{font-size:.95rem;line-height:1}
.mobile-menu nav{position:absolute;right:0;top:calc(100% + 9px);width:220px;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--ink);box-shadow:8px 8px 0 #2418272a;padding:8px;z-index:30}
.mobile-menu nav a{padding:11px 10px;text-decoration:none;font:400 .78rem "Plex Mono",Consolas,monospace}
.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible{background:var(--acid)}
@media(max-width:760px){.primary-nav{display:none}.mobile-menu{display:block;margin-left:auto;position:relative}}
/* Portfolio rhythm: natural machine frame and alternating bot entries. */
.case-machine{display:block;aspect-ratio:4/3;height:auto;min-height:0;background:transparent}
.case-machine img{width:100%;height:auto;max-height:none;aspect-ratio:4/3;object-fit:contain;padding:0}
.case-machine:hover img{transform:none}
.case-data .data-art{grid-column:2;grid-row:1}
.case-data .case-content{grid-column:3;grid-row:1}
.case-compact:nth-child(odd) .case-content{text-align:right}
.case-compact:nth-child(odd) .case-content h3,.case-compact:nth-child(odd) .case-content>p:not(.case-kind){margin-left:auto}
.case-compact:nth-child(odd) .compact-flow{justify-content:flex-end}
@media(max-width:760px){.case-compact:nth-child(odd) .case-content{text-align:left}.case-compact:nth-child(odd) .case-content h3,.case-compact:nth-child(odd) .case-content>p:not(.case-kind){margin-left:0}.case-compact:nth-child(odd) .compact-flow{justify-content:flex-start}}
@media(max-width:760px){.case-data .data-art{grid-column:1;grid-row:auto}}

/* One-row header: brand, language, then navigation and contact. */
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px}
.header-actions{display:flex;align-items:center;justify-self:end;gap:24px}
.primary-nav{gap:25px;margin-left:0}
.language-switch{--switch-fill:#f3a8cf;--switch-text:var(--ink);--knob-travel:40px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-self:center;flex:none;width:84px;height:44px;background:var(--ink);clip-path:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 3px) 4px,calc(100% - 3px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 3px) calc(100% - 8px),calc(100% - 3px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),3px calc(100% - 4px),3px calc(100% - 8px),0 calc(100% - 8px),0 8px,3px 8px,3px 4px,8px 4px);font:700 1rem/1 "Plex Mono",Consolas,monospace;letter-spacing:.03em;text-decoration:none;cursor:pointer;isolation:isolate}
.language-switch::before{content:"";position:absolute;z-index:0;inset:2px;background:var(--switch-fill);clip-path:inherit;transition:background-color .23s steps(3,end)}
.language-switch:focus-visible::before{inset:4px}
.language-switch::after{content:"";position:absolute;z-index:3;top:7px;left:6px;width:32px;height:30px;background:#fffdfd;box-shadow:inset 3px 3px 0 #f2e6ee;clip-path:polygon(9px 0,calc(100% - 9px) 0,calc(100% - 9px) 3px,calc(100% - 4px) 3px,calc(100% - 4px) 7px,100% 7px,100% calc(100% - 7px),calc(100% - 4px) calc(100% - 7px),calc(100% - 4px) calc(100% - 3px),calc(100% - 9px) calc(100% - 3px),calc(100% - 9px) 100%,9px 100%,9px calc(100% - 3px),4px calc(100% - 3px),4px calc(100% - 7px),0 calc(100% - 7px),0 7px,4px 7px,4px 3px,9px 3px);transform:translateX(var(--knob-travel));transition:transform .23s steps(6,end);pointer-events:none}
.switch-label{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;color:transparent;text-align:center}
html[lang="ru"] .language-switch .switch-ru,html[lang="en"] .language-switch .switch-en{color:var(--switch-text)}
.language-switch.is-throwing .switch-label{color:transparent}
html[lang="ru"] .language-switch.is-throwing .switch-en,html[lang="en"] .language-switch.is-throwing .switch-ru{color:var(--switch-text)}
html[lang="en"] .language-switch,html[lang="ru"] .language-switch.is-throwing{--switch-fill:#a43f7a;--switch-text:#fffdfd}
html[lang="en"] .language-switch.is-throwing{--switch-fill:#f3a8cf;--switch-text:var(--ink)}
html[lang="en"] .language-switch::after,html[lang="ru"] .language-switch.is-throwing::after{transform:translateX(0)}
html[lang="en"] .language-switch.is-throwing::after{transform:translateX(var(--knob-travel))}
@media(max-width:1320px){.header-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}
@media(max-width:760px){.header-inner{gap:12px}.header-actions .mobile-menu{margin-left:0}}
@media(max-width:760px){.language-switch{--knob-travel:36px;width:78px;height:40px;font-size:.9rem}.language-switch::after{top:6px;left:6px;width:30px;height:28px}}
@media(max-width:430px){.header-inner{gap:8px}.language-switch{--knob-travel:34px;width:72px;height:36px;font-size:.82rem}.language-switch::after{top:6px;left:5px;width:27px;height:24px}}
@media(prefers-reduced-motion:reduce){.language-switch::before,.language-switch::after{transition:none}}

/* Text changes in place; only a saved file-language override waits for hydration. */
html.language-initializing body{visibility:hidden}
.language-morphing{position:relative;visibility:hidden}
.language-morph-overlay{position:absolute;z-index:5;inset:0;display:block;visibility:visible;overflow:hidden;white-space:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;pointer-events:none}

/* Soft pixel-window details against the light portfolio layout. */
.site-header .wordmark-mark{box-shadow:3px 3px 0 #f1bad8}
.signal{border-radius:1px;box-shadow:3px 3px 0 #f1bad8}
.system-panel{border:2px solid #a44b7e;box-shadow:10px 10px 0 #f5bad9,18px 18px 0 #dbeef1;transform:rotate(.7deg)}
.window-bar{background:var(--acid);color:var(--ink);border-bottom:2px solid #b65b90;font-weight:600}
.window-bar>span:last-child{color:#743959}
.window-dots i{width:8px;height:8px;border-radius:1px;background:#fff2f9;box-shadow:1px 1px 0 #a44b7e}
.window-dots i:first-child{background:#a44b7e}
.flow-route span{border-radius:1px}
.window-status{background:#2e2033;color:#dfbed3}
.contact-section,.preview-contact{background:#ffe3f2}
@media(max-width:760px){.system-panel{box-shadow:6px 6px 0 #f5bad9,11px 11px 0 #dbeef1;transform:none}}

/* Individual project stories. */
.case-detail{padding-top:36px;padding-bottom:110px}
.case-detail-breadcrumb{display:flex;align-items:center;gap:13px;font:400 .72rem/1.4 "Plex Mono",Consolas,monospace;color:var(--muted)}
.case-detail-breadcrumb a{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.case-detail-breadcrumb a:hover{color:var(--teal)}
.case-content h3 a{text-decoration:none}.case-content h3 a:hover{color:var(--teal)}
.case-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:start;margin:62px 0 66px}
.case-detail-hero .eyebrow{color:var(--teal)}
.case-detail-hero h1{font-size:clamp(3.5rem,8vw,8.3rem);line-height:.98;letter-spacing:-.075em;font-weight:750;max-width:1100px;margin:25px 0 24px;hyphens:auto;overflow-wrap:break-word}
.case-detail-category{font:400 .78rem/1.5 "Plex Mono",Consolas,monospace;color:var(--muted);margin-bottom:23px}
.case-detail-lead{font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.45;max-width:800px;color:#4c3949}
.case-detail-source{display:inline-flex;align-items:center;gap:36px;font:600 .76rem/1.4 "Plex Mono",Consolas,monospace;text-decoration:none;border-bottom:1px solid var(--ink);padding:16px 0;margin-top:28px}
.case-detail-source:hover{color:var(--teal);border-color:var(--teal)}
.case-detail-big-number{font:700 clamp(5rem,16vw,15rem)/.75 "Plex Mono",Consolas,monospace;letter-spacing:-.18em;color:#efc4dc;user-select:none;padding-right:.12em}
.case-detail-media{background:#f9e8f2;border:1px solid var(--line);margin-bottom:100px}
.case-detail-media-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:#ffe8f5;padding:14px 20px;font:400 .68rem/1.4 "Plex Mono",Consolas,monospace;text-transform:uppercase;letter-spacing:.05em}
.case-detail-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,260px));justify-content:center;gap:20px;padding:36px}
.case-detail-shot{margin:0;min-width:0}
.case-detail-shot a{display:block;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.case-detail-shot a:hover{border-color:var(--teal)}
.case-detail-shot img{width:100%;height:auto;object-fit:contain}
.case-detail-shot figcaption{font:400 .67rem/1.55 "Plex Mono",Consolas,monospace;color:var(--muted);padding-top:10px}
.case-detail-gallery-web{grid-template-columns:minmax(0,1fr);padding:34px}
.case-detail-gallery-web .case-detail-shot a{display:grid;place-items:center;min-height:360px;background:#fff7fb;border:0}
.case-detail-gallery-web img{width:auto;max-width:100%;max-height:580px}
.case-detail-story{display:grid;grid-template-columns:minmax(170px,.4fr) minmax(0,1fr);gap:7vw;margin-bottom:90px}
.case-detail-aside{display:flex;flex-direction:column;gap:14px;align-self:start;position:sticky;top:112px;font:400 .73rem/1.6 "Plex Mono",Consolas,monospace;color:var(--muted)}
.case-detail-aside span{color:var(--teal)}
.case-detail-aside strong{font-weight:400;max-width:220px}
.case-detail-chapters section{border-top:1px solid var(--line);padding:34px 0 58px}
.case-detail-chapters .eyebrow{color:var(--teal);margin-bottom:25px}
.case-detail-chapters h2{font-size:clamp(2rem,3.5vw,3.55rem);line-height:1.08;letter-spacing:-.055em;margin-bottom:24px}
.case-detail-chapters p:not(.eyebrow){font-size:clamp(1.05rem,1.35vw,1.22rem);line-height:1.65;max-width:760px;color:#4c3949}
.case-detail-chapters ol{counter-reset:detail;list-style:none;margin:0;padding:0;max-width:760px}
.case-detail-chapters li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:15px 0;border-top:1px solid var(--line);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.55}
.case-detail-chapters li::before{counter-increment:detail;content:counter(detail,decimal-leading-zero);font:400 .7rem/1.8 "Plex Mono",Consolas,monospace;color:var(--teal)}
.case-detail-chapters .case-detail-outcome{padding:34px 36px 42px;background:#ffe3f2;border-top:2px solid var(--teal)}
.case-detail-metric{display:flex;align-items:end;gap:20px;margin:15px 0 24px}
.case-detail-metric strong{font-size:clamp(3rem,6vw,5.5rem);line-height:1;letter-spacing:-.07em}
.case-detail-metric span{font:400 .7rem/1.5 "Plex Mono",Consolas,monospace;max-width:210px;padding-bottom:7px}
.case-detail-end{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:100px}
.case-detail-end a{display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:138px;padding:25px 20px;text-decoration:none}
.case-detail-end a+a{border-left:1px solid var(--line)}
.case-detail-end a:hover{background:var(--acid)}
.case-detail-end span{font:400 .68rem/1.4 "Plex Mono",Consolas,monospace;color:var(--muted)}
.case-detail-end strong{font-size:clamp(1.2rem,2vw,1.8rem);letter-spacing:-.04em}
@media(max-width:760px){.case-detail{padding-top:24px;padding-bottom:65px}.case-detail-hero{grid-template-columns:minmax(0,1fr);margin:43px 0 45px}.case-detail-hero h1{font-size:clamp(3.2rem,12vw,5.5rem);margin:20px 0}.case-detail-big-number{display:none}.case-detail-media{margin-bottom:65px}.case-detail-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:15px;padding:20px}.case-detail-gallery-web{grid-template-columns:1fr;padding:18px}.case-detail-gallery-web .case-detail-shot a{min-height:220px}.case-detail-gallery-web img{max-height:420px}.case-detail-story{display:block;margin-bottom:50px}.case-detail-aside{position:static;flex-direction:row;justify-content:space-between;gap:20px;margin-bottom:28px}.case-detail-chapters section{padding:26px 0 42px}.case-detail-chapters .case-detail-outcome{padding:28px 22px 34px}.case-detail-end{margin-bottom:65px}}
@media(max-width:500px){.case-detail-gallery:not(.case-detail-gallery-web){display:flex;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:14px}.case-detail-gallery:not(.case-detail-gallery-web) .case-detail-shot{flex:0 0 min(70vw,260px);scroll-snap-align:start}.case-detail-gallery-web{grid-template-columns:1fr;padding:14px}.case-detail-shot figcaption{font-size:.6rem}.case-detail-end{grid-template-columns:1fr}.case-detail-end a{min-height:110px}.case-detail-end a+a{border-left:0;border-top:1px solid var(--line)}}


/* Pixel portrait on the About pages */
.about-index{justify-content:flex-start;gap:12px}
.about-avatar{width:min(100%,480px);height:auto;image-rendering:pixelated;align-self:flex-start}
@media(max-width:760px){.about-index{gap:12px}.about-avatar{width:min(100%,420px);margin-inline:auto}}

.about-visual{position:relative;width:min(100%,480px);margin-top:-22px}
.about-visual .about-avatar{width:100%}
.about-visual .about-symbol{display:block;position:absolute;right:6%;bottom:0;margin:0;font-size:clamp(3.2rem,4.6vw,5rem);line-height:1}
@media(max-width:760px){.about-visual{width:min(100%,420px);margin-inline:auto}.about-visual .about-symbol{font-size:clamp(2.8rem,10vw,4rem)}}

/* The avatar's head occupies the open space between the copy and journey window. */
.hero{padding-bottom:45px}
.hero-visual{min-width:0}
.hero-visual .system-panel{width:100%}
.hero-avatar-stage{grid-column:1/-1;justify-self:center;position:relative;z-index:2;width:min(100%,625px);margin-top:-325px;transform:translateX(-65px)}
.hero-developer-avatar{display:block;width:100%;height:auto;image-rendering:pixelated;pointer-events:none}
@media(max-width:1200px){.hero-avatar-stage{width:min(100%,580px);margin-top:-275px;transform:translateX(-45px)}}
@media(max-width:1100px){.hero-avatar-stage{width:min(100%,500px);margin-top:-110px;transform:none}}
@media(max-width:760px){.hero{padding-bottom:45px}.hero-avatar-stage{width:min(88vw,340px);margin-top:-70px}}

/* A second contact path when an email app is not configured. */
.contact-secondary{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.contact-copy{display:inline-flex;align-items:center;gap:8px;padding:4px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font:400 .72rem/1.4 "Plex Mono",Consolas,monospace;cursor:pointer}
.contact-copy:hover{color:var(--teal)}
.contact-copy[hidden]{display:none}
