[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{scroll-padding-top:32px}body{overflow-x:clip}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.header{gap:24px;padding-left:4%;padding-right:4%;height:104px}.header nav{gap:19px;font-size:12px}.header nav>a[aria-current=page]{color:var(--blue)}.nav-contact{padding:11px 17px;gap:15px}.header-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-tools button:not(.menu-button),.language-switch{width:32px;height:32px;display:grid;place-items:center;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:50%;cursor:pointer;font-size:12px}.header-tools .terminal-toggle{font:11px 'Courier New',monospace;border-radius:5px}.language-switch{font-size:10px;font-weight:700}.header-tools button:hover,.language-switch:hover{background:var(--lime);color:#17212c}.hero.home-hero .hero-main{min-height:650px;gap:5%}.hero.home-hero h1{font-size:clamp(43px,4.35vw,68px);letter-spacing:-3px;line-height:1.1}.hero.home-hero h1 em{letter-spacing:-2.5px}.hero .eyebrow{font-size:8px;letter-spacing:.6px;line-height:1.5}.hero-actions{display:flex;align-items:center;gap:21px;flex-wrap:wrap}.hero-actions .button{gap:18px}.hero-secondary{display:inline-flex;gap:10px;font-size:11px;color:#d8e2e8;border-bottom:1px solid #687b88;padding:9px 0}.hero-secondary:hover{color:var(--lime)}.hero-copy>p{font-size:16px}.system-art{perspective:900px}.card-ui,.card-app,.card-infra{transition:transform .3s ease}.system-art:hover .card-ui{transform:rotate(-9deg) translateY(-4px)}.system-art:hover .card-app{transform:rotate(9deg) translateY(-4px)}.system-art:hover .card-infra{transform:rotate(-3deg) translateY(-4px)}.art-coordinate{font-size:7px}.experience-strip{padding:34px 7%;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);gap:28px}.experience-strip>div,.experience-strip>a{border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.experience-strip>:last-child{border:0}.experience-strip strong{font-size:28px;letter-spacing:-1px;font-weight:500}.experience-strip span{font-size:11px;color:var(--muted)}.section-label,.section-label>span:nth-child(2){color:var(--muted)}.intro h2{font-size:clamp(34px,3.2vw,51px)}.domain-map{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:32px}.domain-map>a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:15px;font-size:11px;transition:background .2s,border-color .2s}.domain-map>a>span:first-child{font-family:'Courier New',monospace;color:var(--blue);font-size:20px;min-width:27px}.domain-map strong{font-weight:500;flex:1}.domain-map>a:hover{border-color:var(--blue);background:#2854ed08}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin:40px 0}.section-heading>p,.section-heading>div{max-width:440px}.section-heading p{font-size:15px;line-height:1.85;color:var(--muted)}.section-heading .text-link{white-space:nowrap}.selected-work,.blog-preview{border-top:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.project-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;min-width:0;transition:transform .2s,border-color .2s}.project-card:hover{transform:translateY(-5px);border-color:#9bac99}.project-visual{display:block;aspect-ratio:1.72;overflow:hidden;background:#dbe1df}.project-visual picture,.project-visual img{display:block;width:100%;height:100%;object-fit:cover}.project-visual img{transition:transform .35s}.project-card:hover .project-visual img{transform:scale(1.025)}.project-card-body{padding:23px}.project-categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px;font:8px 'Courier New',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.project-card h3{margin:0 0 13px;font-size:22px;letter-spacing:-.7px;font-weight:500}.project-card h3 a{display:flex;justify-content:space-between;gap:15px}.project-card p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.localisation-art{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#16283a;color:#e8f1ed;gap:5px;position:relative}.localisation-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#aac0bd10 1px,transparent 1px),linear-gradient(#aac0bd10 1px,transparent 1px);background-size:25px 25px}.localisation-art>span{font:27px 'Courier New',monospace;color:var(--lime)}.localisation-art>strong{font-size:27px;font-weight:500;letter-spacing:-1px}.localisation-art>small{font-size:9px;letter-spacing:2px;color:#aabdbd}.timeline-section{background:#e2e6dc}.timeline-section>h2{margin-top:37px}.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:46px}.timeline-node{position:relative;border-top:1px solid #aab9a2;padding-top:22px}.timeline-node summary{cursor:pointer;list-style:none;position:relative;padding-right:15px}.timeline-node summary::-webkit-details-marker{display:none}.timeline-date{display:block;font:11px 'Courier New',monospace;color:#4a5d45;margin-bottom:17px}.timeline-dot{position:absolute;top:-27px;left:0;background:var(--blue);border:3px solid #e2e6dc;box-shadow:0 0 0 1px #98ad8c;width:10px;height:10px;border-radius:50%}.timeline-node summary strong{font-size:17px;font-weight:500;line-height:1.4;display:block}.timeline-more{position:absolute;right:0;top:33px;color:#64755c}.timeline-node[open] .timeline-more{transform:rotate(45deg)}.timeline-node p{font-size:12px;line-height:1.8;color:#52624b;margin:14px 0 0}.open-source-preview .section-heading{align-items:center}.repo-mini{display:flex;align-items:center;gap:24px;background:var(--night);color:#e2eae8;padding:27px 30px;border-radius:5px}.repo-mini>span:first-child{color:var(--lime);font:30px 'Courier New',monospace}.repo-mini>a{font:15px 'Courier New',monospace}.repo-mini>span:last-child{margin-left:auto;font-size:10px;color:#a4b5bf}.blog-card{display:grid;grid-template-columns:54px 1fr;gap:24px;padding:29px 0;border-top:1px solid var(--line)}.blog-card:last-child{border-bottom:1px solid var(--line)}.blog-card-number{font:11px 'Courier New',monospace;color:var(--muted);padding-top:4px}.article-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--muted);line-height:1.7}.article-meta>span:first-child{color:var(--blue);font-weight:600}.blog-card h3{margin:12px 0 9px;font-size:25px;letter-spacing:-.7px;font-weight:500;line-height:1.3}.blog-card h3 a{display:flex;justify-content:space-between;gap:25px}.blog-card h3 a:hover{color:var(--blue)}.blog-card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:720px}.updated-label{display:block;font-size:9px;color:var(--muted);margin-top:13px}.contact-intro{font-size:16px;line-height:1.9;color:#e0e7ff;max-width:430px;margin:27px 0}.contact-main h1{font-size:clamp(37px,4vw,61px);font-weight:500;letter-spacing:-2px;line-height:1.12;margin:0}.contact-main h2{font-size:clamp(41px,5vw,73px)}.company-note{font-size:11px;line-height:1.9;color:#d6e1ff;max-width:340px}.company-note a{text-decoration:underline;text-underline-offset:4px}.contact-form select{width:100%;border:1px solid #839ff2;border-radius:4px;background:#ffffff0c;color:white;font:14px/1.5 Arial,Helvetica,sans-serif;padding:13px 10px;min-height:48px;outline-offset:3px}.contact-form select option{background:#fff;color:#17212c}.form-status{min-height:18px}.extended-footer{display:grid;grid-template-columns:2fr 1fr 1fr;padding:50px 7% 22px;gap:35px}.footer-brand p{font-size:10px;color:var(--muted);line-height:1.9;letter-spacing:.1px}.footer-brand p:first-of-type{font:8px 'Courier New',monospace;letter-spacing:1px;margin:17px 0}.footer-links{display:flex;flex-direction:column;gap:11px;font-size:12px;align-items:flex-start}.footer-links>span{font:8px 'Courier New',monospace;letter-spacing:1px;color:var(--muted);margin-bottom:6px}.footer-links>a:hover{color:var(--blue)}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:30px;font-size:10px;color:var(--muted)}.footer-bottom small{font-size:10px}.footer-bottom .back-top{margin-left:auto;color:var(--ink)}.breadcrumbs{display:block;padding:19px 7%;font-size:10px;border-top:1px solid var(--line)}.breadcrumbs ol{display:flex;gap:11px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.breadcrumbs li{display:flex;gap:11px;align-items:center;color:var(--muted)}.breadcrumbs li+li:before{content:'/';color:#839080}.breadcrumbs a:hover{color:var(--blue)}.page-hero{padding:49px 7% 66px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(42px,5vw,73px);font-weight:500;letter-spacing:-3px;line-height:1.1;max-width:1000px;margin:38px 0 24px}.page-hero>p{max-width:710px;font-size:18px;line-height:1.85;color:var(--muted);margin:0}.page-hero>.text-link{margin-top:29px}.editorial-split{display:grid;grid-template-columns:1fr 2fr;gap:10%;align-items:start}.editorial-split .section-label{margin-top:10px}.prose{font-size:16px;line-height:1.95;color:var(--muted)}.prose>p:first-child{margin-top:0}.prose p{margin:0 0 23px}.prose h2{font-size:30px;letter-spacing:-1px;line-height:1.3;margin:43px 0 20px;color:var(--ink)}.prose h3{font-size:21px;letter-spacing:-.5px;margin-top:28px;color:var(--ink)}.prose a{text-decoration:underline;text-underline-offset:4px}.prose ul{padding-left:21px}.prose li{padding-left:5px;margin-bottom:10px}.prose code:not(pre code){font:13px/1.7 'Courier New',monospace;background:#dfe5dc;color:#23421e;padding:2px 6px;border-radius:3px;overflow-wrap:anywhere}.company-section>h2{margin:30px 0;max-width:900px}.company-section>p{font-size:17px;line-height:1.9;max-width:750px;color:var(--muted)}.compact-contact .section-heading{margin:10px 0}.compact-contact .section-heading p{color:#e2eaff}.compact-contact h2{font-size:clamp(35px,4vw,55px)}.filter-bar,.expertise-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-bar button,.expertise-toolbar button,.pagination button{border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;padding:11px 15px;border-radius:25px;cursor:pointer}.filter-bar button[aria-pressed=true],.expertise-toolbar button[aria-pressed=true],.pagination button[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-bar button:hover,.expertise-toolbar button:hover{border-color:var(--blue)}.filter-status{font-size:11px;color:var(--muted);min-height:17px}.empty-state{border:1px dashed var(--line);padding:30px;line-height:1.9;color:var(--muted);font-size:14px}.empty-state a{text-decoration:underline}.expertise-card{padding:40px;border:1px solid var(--line);border-radius:6px;scroll-margin-top:25px}.expertise-cards{display:grid;gap:24px}.expertise-card-top{display:flex;gap:23px;align-items:start}.expertise-card-top>div{flex:1}.expertise-card h2{font-size:31px;letter-spacing:-1px}.expertise-card .lead{font-size:18px;line-height:1.5;color:var(--ink);margin:18px 0 0}.expertise-card>p{font-size:15px;line-height:1.9;max-width:840px;color:var(--muted);margin:25px 0}.expertise-card .tags{margin:25px 0}.expertise-details{padding:20px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.85;color:var(--muted)}.expertise-details summary{cursor:pointer;color:var(--ink);font-size:12px}.expertise-details h3{font-size:16px;margin-top:27px;color:var(--ink)}.expertise-details ul{padding-left:19px}.case-preview{margin:0 0 55px}.case-preview img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:5px}.case-preview figcaption{font-size:10px;color:var(--muted);margin-top:12px}.case-columns{display:grid;grid-template-columns:1fr 2fr;gap:9%}.case-columns dl{margin:0}.case-columns dt{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:0 0 9px}.case-columns dd{font-size:13px;margin:0 0 30px;line-height:1.8;overflow-wrap:anywhere}.case-columns .prose h2:first-child{margin-top:0}.architecture-flow{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:#e1e7de;padding:24px;font:12px 'Courier New',monospace;color:#213a29}.architecture-flow span:nth-child(odd){padding:14px;border:1px solid #a6b7a0;border-radius:3px}.case-localisation{padding:65px;text-align:center;background:#15283b;color:white;margin-bottom:50px;border-radius:6px}.case-localisation>span{display:block;font:66px 'Courier New',monospace;color:var(--lime);margin-bottom:23px}.case-localisation h2{font-size:28px}.related-projects{border-top:1px solid var(--line)}.related-projects>h2{margin-bottom:35px}.related-projects .project-grid{grid-template-columns:repeat(2,1fr)}.repo-legend{display:flex;flex-wrap:wrap;gap:15px 26px;padding:23px 0;margin-bottom:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.7}.repo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.repo-card{padding:28px;border:1px solid var(--line);border-radius:5px;min-width:0}.repo-type{font:8px 'Courier New',monospace;letter-spacing:1px;color:var(--blue);margin-bottom:20px}.repo-card h2{font-size:22px;font-weight:500;letter-spacing:-.6px;overflow-wrap:anywhere}.repo-card h2 a{display:flex;justify-content:space-between;gap:15px}.repo-card p{font-size:13px;line-height:1.9;color:var(--muted);min-height:48px}.repo-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:9px;color:var(--muted);margin:20px 0 14px}.repo-card small{font-size:9px;color:var(--muted)}.data-source{font-size:11px;line-height:1.9;color:var(--muted);margin-top:32px}.data-source a{text-decoration:underline}.blog-controls{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:18px}.blog-controls label{font-size:11px;line-height:2.8}.blog-controls input,.blog-controls select{display:block;width:100%;background:transparent;border:1px solid var(--line);color:var(--ink);font:14px Arial,sans-serif;padding:15px;border-radius:4px;min-width:0}.blog-controls option{color:#17212c;background:white}.pagination{display:flex;gap:8px;justify-content:center;min-height:30px;margin-top:30px}.article-hero{padding-bottom:42px;border-bottom:1px solid var(--line)}.article-hero h1{font-size:clamp(38px,4.8vw,68px);letter-spacing:-2.5px;font-weight:500;line-height:1.13;max-width:1000px;margin:28px 0}.article-hero>p{font-size:19px;line-height:1.8;max-width:760px;color:var(--muted)}.article-dates{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:10px;color:var(--muted);margin-top:29px}.article-layout{display:grid;grid-template-columns:1fr 2.5fr;gap:8%;align-items:start;padding-top:50px}.article-toc{position:sticky;top:25px}.article-toc h2{font-size:13px;letter-spacing:0;font-weight:600}.article-toc ol{list-style:none;padding:0;font-size:11px;line-height:1.8}.article-toc li{border-bottom:1px solid var(--line);padding:11px 0}.article-toc a:hover{color:var(--blue)}.article-toc button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:10px 14px;border-radius:25px;font-size:10px;cursor:pointer;margin-top:12px}.article-prose{min-width:0;max-width:780px}.editorial-note{font-size:12px!important;line-height:1.8;border-left:2px solid var(--blue);padding:12px 17px;background:#2854ed05}.code-block{background:#14212e;color:#e5eced;border-radius:5px;overflow:hidden;margin:28px 0;max-width:100%}.code-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #3b4d58;font:9px 'Courier New',monospace;color:#c9d6df}.code-toolbar button{font:9px Arial,sans-serif;background:transparent;color:#c9d6df;border:1px solid #52677a;border-radius:3px;padding:5px 10px;cursor:pointer}.code-block pre{margin:0;padding:20px;overflow-x:auto;font:12px/1.8 'Courier New',monospace;tab-size:2}.code-comment{color:#9fb2bd}.code-string{color:#c9e9a3}.code-keyword{color:#a9c3ff}.reading-progress{height:3px;background:var(--blue);position:fixed;top:0;left:0;transform-origin:left;width:100%;transform:scaleX(0);z-index:90}.article-sources{border-top:1px solid var(--line);padding-top:5px;margin-top:35px;font-size:13px}.article-sources h2{font-size:23px}.privacy-prose{max-width:820px;margin:auto}.terminal-dialog{padding:0;width:min(720px,calc(100vw - 28px));max-height:min(650px,85vh);border:1px solid #536371;border-radius:9px;background:#131b25;color:#e2eae8;box-shadow:0 30px 100px #0006;overflow:hidden}.terminal-dialog::backdrop{background:#0e172caa;backdrop-filter:blur(4px)}.terminal-bar{padding:15px 20px;background:#1e2c3a;display:flex;justify-content:space-between;align-items:center;font:11px 'Courier New',monospace;border-bottom:1px solid #445362}.terminal-close{font-size:24px;line-height:1;background:transparent;color:#d6e2e9;border:0;cursor:pointer;padding:0 4px}.terminal-notice{margin:0;padding:14px 20px;font-size:11px;color:#b4c3cc;line-height:1.7}.terminal-output{font:12px/1.9 'Courier New',monospace;overflow-y:auto;min-height:190px;max-height:330px;padding:5px 20px 20px;overflow-wrap:anywhere}.terminal-output p{margin:5px 0;white-space:pre-wrap}.terminal-output .command-line{color:#c7ee86;margin-top:18px}.terminal-output a{display:block;color:#b9cdfd;overflow-wrap:anywhere;text-decoration:underline}.terminal-dialog form{display:flex;gap:13px;align-items:center;border-top:1px solid #405161;padding:17px 20px;font:11px 'Courier New',monospace}.terminal-dialog label{white-space:nowrap;color:#c7ee86}.terminal-dialog input{background:transparent;border:0;color:#f1f5f0;outline:none;min-width:0;flex:1;font:13px 'Courier New',monospace;padding:7px 3px}.terminal-dialog input:focus-visible{outline:1px solid #9cafbc;outline-offset:2px}.terminal-dialog form button{border:1px solid #50667b;color:#dbe4ed;background:transparent;border-radius:4px;font-size:17px;cursor:pointer;padding:5px 10px}
:root[data-theme=dark]{--paper:#121d28;--ink:#edf2ee;--muted:#bac7c9;--line:#344653;--blue:#a8c3ff}.header-tools,.header,body,.project-card,.repo-card{transition:background-color .15s,color .15s}:root[data-theme=dark] .header nav>a[aria-current=page]{color:var(--lime)}:root[data-theme=dark] .method,:root[data-theme=dark] .timeline-section{background:#23332f}:root[data-theme=dark] .timeline-date,:root[data-theme=dark] .timeline-node p,:root[data-theme=dark] .method-heading p,:root[data-theme=dark] .steps p{color:#c3d2c1}:root[data-theme=dark] .timeline-dot{border-color:#23332f}:root[data-theme=dark] .tags span{border-color:#4b5f52;color:#c6d5cc}:root[data-theme=dark] .contact{background:#2854ed}:root[data-theme=dark] .service-description p{color:var(--muted)}:root[data-theme=dark] .prose code:not(pre code){background:#304634;color:#d7edc6}:root[data-theme=dark] .architecture-flow{background:#233a32;color:#d5e7cb}:root[data-theme=dark] .footer-signature span{color:var(--lime)}:root[data-theme=dark] .editorial-note{background:#a8c3ff09}:root[data-theme=dark] .footer-bottom a{color:var(--muted)}:root[data-theme=dark] .contact-form select option{background:#17212c;color:white}:root[data-theme=dark] .contact .button.light{background:#f3f2ed;color:#17212c}:root[data-theme=dark] .hero .button.light{background:#f3f2ed;color:#17212c}
@keyframes arrive{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:no-preference){.arrived{animation:arrive .45s both}}
@media(min-width:1600px){.experience-strip,.breadcrumbs,.page-hero,.extended-footer{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:1100px){.header .menu-button{display:flex;gap:12px;border:1px solid var(--line);border-radius:25px;background:transparent;color:var(--ink);font-size:11px;padding:10px 14px}.header nav{display:none;position:absolute;top:85px;left:4%;right:4%;padding:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 15px 35px #0001;border-radius:5px;flex-direction:column;align-items:stretch;gap:8px}.header nav.open{display:flex}.header nav .nav-contact{margin-top:8px;justify-content:space-between}.hero.home-hero .hero-main{min-height:610px}.hero.home-hero h1{font-size:47px;letter-spacing:-2.5px}.project-grid{gap:17px}.project-card-body{padding:20px}.project-card h3{font-size:19px}.project-categories{font-size:7px}.case-columns{gap:6%}.terminal-toggle{display:grid}.header{gap:20px}.repo-mini>span:last-child{display:none}}@media(max-width:760px){.header{height:85px;padding:0 5%;gap:10px}.header .identity{gap:9px}.header .monogram{font-size:38px}.header .identity>span:last-child{font-size:7px;letter-spacing:1px}.header-tools{gap:6px}.header-tools button:not(.menu-button),.language-switch{width:29px;height:29px;font-size:10px}.header .menu-button{padding:9px 10px;gap:8px;font-size:10px}.header nav{top:76px}.hero.home-hero .hero-main{min-height:0}.hero.home-hero h1{font-size:clamp(39px,8.8vw,56px);letter-spacing:-2.3px;max-width:600px}.hero.home-hero h1 em{letter-spacing:-1.5px}.hero .eyebrow{font-size:7px;max-width:300px}.hero-copy>p{font-size:15px;max-width:520px}.hero-actions{gap:12px 24px}.hero-secondary{font-size:11px}.hero-actions .button{font-size:11px;padding:15px 17px}.experience-strip{padding:25px 6%;gap:15px}.experience-strip strong{font-size:22px}.experience-strip span{font-size:9px;line-height:1.7;max-width:120px}.experience-strip>div,.experience-strip>a{padding-right:10px}.experience-strip>a strong span{font-size:13px}.domain-map{grid-template-columns:1fr;margin-top:25px}.domain-map>a{padding:13px;font-size:12px}.section-heading{display:block;margin:31px 0}.section-heading h2{font-size:35px;letter-spacing:-1.8px}.section-heading>p,.section-heading>div{margin-top:24px;max-width:none}.section-heading .text-link{margin-top:23px}.project-grid,.related-projects .project-grid{grid-template-columns:1fr;gap:23px}.project-card h3{font-size:23px}.project-categories{font-size:8px}.project-card-body{padding:23px}.project-visual{aspect-ratio:1.78}.timeline{grid-template-columns:1fr;gap:0;margin-top:35px}.timeline-node{border-top:0;border-left:1px solid #aab9a2;padding:0 0 27px 26px}.timeline-node:last-child{padding-bottom:0}.timeline-node summary{padding-right:20px}.timeline-date{font-size:10px;margin-bottom:9px}.timeline-dot{top:3px;left:-31px}.timeline-node summary strong{font-size:18px}.timeline-more{top:22px}.timeline-node p{font-size:13px;max-width:500px;margin-top:12px}.repo-mini{padding:23px 20px;gap:17px}.repo-mini>span:first-child{font-size:23px}.repo-mini>a{font-size:12px}.blog-card{grid-template-columns:24px 1fr;gap:17px;padding:24px 0}.blog-card h3{font-size:22px;line-height:1.4}.blog-card p{font-size:13px}.article-meta{font-size:9px;gap:7px 16px}.contact-main h1{font-size:39px;letter-spacing:-1.9px}.contact-main h2{font-size:49px}.contact-intro{font-size:14px;margin:23px 0}.contact-form select{font-size:16px}.company-note{font-size:11px;max-width:400px}.extended-footer{grid-template-columns:1fr 1fr;padding:34px 6% 23px;gap:30px}.footer-brand{grid-column:1/-1}.footer-links{grid-row:auto;grid-column:auto;font-size:12px}.footer-bottom{gap:15px;align-items:center;flex-wrap:wrap;font-size:9px}.footer-bottom small{font-size:9px}.footer-bottom .back-top{width:32px;height:32px}.breadcrumbs{padding:17px 6%;font-size:9px}.breadcrumbs ol{gap:8px}.breadcrumbs li{gap:8px}.page-hero{padding:33px 6% 44px}.page-hero .section-label>span:nth-child(2){max-width:125px;font-size:6px}.page-hero h1{font-size:42px;letter-spacing:-2px;line-height:1.14;margin:27px 0 23px}.page-hero>p{font-size:16px;line-height:1.8}.editorial-split{display:block}.editorial-split .section-label{margin-bottom:28px}.prose{font-size:15px;line-height:1.95}.prose h2{font-size:27px;margin-top:34px}.company-section>h2{font-size:33px;letter-spacing:-1.5px}.company-section>p{font-size:15px}.compact-contact .section-heading>div{margin-top:28px}.expertise-card{padding:25px 20px}.expertise-card-top{gap:12px}.expertise-card-top>.service-number{display:none}.expertise-card h2{font-size:27px}.expertise-card .lead{font-size:16px;margin-top:13px}.expertise-card>p{font-size:14px;margin-top:21px}.expertise-card .tags{margin:20px 0}.expertise-details{font-size:13px}.expertise-details summary{font-size:11px}.case-preview{margin-bottom:35px}.case-columns{grid-template-columns:1fr;gap:27px}.case-columns aside{border-bottom:1px solid var(--line);padding-bottom:5px}.case-columns dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.case-columns dt{grid-column:1;font-size:8px;margin:0 0 17px}.case-columns dd{grid-column:2;font-size:11px;margin:0 0 17px}.case-localisation{padding:43px 20px}.case-localisation>span{font-size:55px}.case-localisation h2{font-size:24px}.repo-grid{grid-template-columns:1fr}.repo-card{padding:24px}.repo-card h2{font-size:21px}.repo-card p{min-height:0;font-size:14px}.repo-meta,.repo-card small{font-size:10px}.repo-legend{display:grid;font-size:11px;gap:11px}.blog-controls{grid-template-columns:1fr;gap:12px}.blog-controls label{font-size:11px}.blog-controls input,.blog-controls select{font-size:16px}.article-hero h1{font-size:38px;letter-spacing:-1.7px;line-height:1.18}.article-hero>p{font-size:16px}.article-dates{font-size:9px;gap:9px 15px}.article-layout{grid-template-columns:1fr;padding-top:35px;gap:25px}.article-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:23px}.article-toc ol{font-size:12px}.article-toc li{padding:9px 0}.article-prose{max-width:none}.code-block pre{font-size:12px;padding:17px}.terminal-output{min-height:160px;max-height:270px;font-size:11px}.terminal-bar{font-size:10px;padding:13px 15px}.terminal-notice{padding:12px 15px;font-size:10px}.terminal-dialog form{padding:13px 15px;gap:9px}.terminal-dialog label{font-size:9px}.terminal-dialog input{font-size:12px}.terminal-dialog input:focus-visible{outline-offset:0}.terminal-output{padding-left:15px;padding-right:15px}.terminal-dialog form button{font-size:16px;padding:5px 8px}.architecture-flow{padding:16px;gap:8px;font-size:10px}.architecture-flow span:nth-child(odd){padding:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.system-art:hover .card-ui{transform:rotate(-7deg)}.system-art:hover .card-app{transform:rotate(7deg)}.system-art:hover .card-infra{transform:rotate(-4deg)}}

.footer-bottom small{color:var(--muted)}
