:root{--bg:#171c25;--panel:#1d2430;--ink:#edf0f5;--muted:#b0bacb;--line:#3a4556;--blue:#a4c7f8;--paper:#ecf0f7;color:var(--ink);background:var(--bg);font-synthesis:none;color-scheme:dark;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:25px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:var(--bg)}h1,h2,h3,p,figure{margin:0}h1,h2{letter-spacing:-.055em;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:1.05}h1{font-size:clamp(3.3rem,7vw,7rem)}h2{font-size:clamp(2.1rem,4.2vw,4rem)}h3{letter-spacing:-.025em;font-size:1.35rem;font-weight:500}em{color:var(--blue);font-style:italic}p{color:var(--muted);line-height:1.8}ul{color:var(--muted);padding-left:20px;line-height:1.8}li+li{margin-top:10px}.wrap{max-width:1440px;margin-inline:auto;padding-inline:clamp(24px,5.5vw,86px)}.section{padding-block:90px}.eyebrow,.mono{letter-spacing:.07em;font:11px/1.7 Consolas,Courier New,monospace}.eyebrow{color:var(--blue);text-transform:uppercase;display:block}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;min-height:110px;display:flex}.identity{align-items:center;gap:19px;display:flex}.identity>span:first-child{letter-spacing:-4px;font-family:Georgia,serif;font-size:34px}.slash{color:var(--blue);padding-left:3px}.identity>span:last-child{font-size:14px;font-weight:600}.identity small{letter-spacing:.1em;color:var(--muted);margin-top:4px;font:8px/1.5 Consolas,monospace;display:block}.header nav{align-items:center;gap:25px;font-size:12px;display:flex}.header nav a{padding-block:15px}.header nav a:hover,.header nav a[aria-current]{color:var(--blue);text-underline-offset:8px;text-decoration:underline}.menu{border:1px solid var(--line);color:var(--ink);background:0 0;padding:12px 16px;display:none}.skip{background:var(--blue);color:var(--bg);z-index:10;padding:16px;position:fixed;top:-100px;left:20px}.skip:focus{top:16px}main:focus{outline:none}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;padding-block:80px;display:grid}.hero h1{margin:32px 0}.hero-lead{max-width:530px;font-size:17px}.actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px;display:flex}.button{background:var(--blue);color:#152235;border:1px solid var(--blue);justify-content:space-between;align-items:center;gap:25px;padding:16px 23px;font-size:13px;font-weight:600;line-height:1.6;transition:background .18s,color .18s;display:inline-flex}.button:hover{background:var(--ink);border-color:var(--ink)}.text-link{border-bottom:1px solid var(--line);padding-block:10px;font-size:13px;line-height:1.6;display:inline-block}.text-link:hover{border-color:var(--blue);color:var(--blue)}.hero-foot{letter-spacing:.05em;margin-top:38px;font:10px/1.7 Consolas,monospace}.hero-foot span{color:var(--blue);padding-inline:12px}.systems-map{border:1px solid var(--line);background:linear-gradient(90deg,#0000 calc(100% - 1px),#ffffff05 1px) 0 0/36px 100%;margin:0;padding:27px;position:relative}.systems-map figcaption{color:var(--blue);justify-content:space-between;gap:18px;margin-bottom:40px;display:flex}.map-row{border-top:1px solid var(--line);grid-template-columns:35px 1fr;column-gap:18px;padding-block:24px;display:grid}.map-number{color:var(--blue);padding-top:9px;font:11px Consolas,monospace}.map-row h2{letter-spacing:-.035em;font-size:32px}.map-row p{grid-column:2;margin-top:8px;font:11px/1.6 Consolas,monospace}.map-caption{border-top:1px solid var(--line);padding-top:22px;font-size:11px;line-height:1.7}.context-strip{border-block:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:24px;padding-block:28px;font-size:11px;display:flex}.context-strip strong{color:var(--ink);margin-top:7px;font-weight:400;display:block}.context-strip a{color:var(--blue)}.section-head{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px;display:flex}.section-head .eyebrow{margin-bottom:20px}.section-head>p{max-width:440px;font-size:13px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;display:grid}.project-card{background:var(--panel);border:1px solid var(--line);min-width:0;padding:30px;transition:border-color .2s}.project-card:hover{border-color:var(--blue)}.project-top{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;display:flex}.arrow{color:var(--blue);font-size:23px}.project-card h3{margin:25px 0 15px;font:clamp(1.85rem,2.6vw,2.65rem)/1.2 Georgia,serif}.project-card h3 a:hover{text-underline-offset:5px;text-decoration:underline}.project-card>p{max-width:450px;min-height:3.6em;font-size:14px}.project-map{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-block:30px;display:grid}.project-map>div{flex-direction:column;gap:14px;padding:20px 10px 20px 0;display:flex}.project-map>div+div{border-left:1px solid var(--line);padding-left:15px}.project-map span{color:var(--blue);font:10px Consolas,monospace}.project-map strong{overflow-wrap:anywhere;font-size:12px;font-weight:400;line-height:1.5}.project-meta{color:var(--muted);flex-direction:column;gap:10px;font:10px/1.6 Consolas,monospace;display:flex}.project-links{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:27px;padding-top:20px;font-size:12px;display:flex}.project-links a:hover{text-decoration:underline}.project-light{background:var(--paper);color:#172437;--line:#c2cddd;--muted:#46566d;--blue:#31598d;--ink:#172437}.section-end{text-align:right;margin-top:28px}.approach,.editorial{grid-template-columns:1fr 1fr;gap:80px;display:grid}.approach{border-block:1px solid var(--line)}.approach h2,.approach p+p,.prose p+p{margin-top:22px}.approach .text-link,.prose .text-link{margin-top:24px}.studio-note{background:#222e40;grid-template-columns:1fr 2fr;gap:60px;padding-block:55px;display:grid}.studio-note h2{margin-bottom:20px;font-size:42px}.studio-note p{max-width:720px;font-size:14px}.studio-note .text-link{margin-top:18px}.contact-band{padding-block:95px}.contact-band>div{justify-content:space-between;align-items:center;gap:35px;margin-block:24px;display:flex}.contact-band>p{font-size:13px}.footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:35px;padding-top:45px;display:grid}.footer-name{font-family:Georgia,serif;font-size:25px}.footer p{margin-top:20px;font-size:12px}.footer>div:nth-child(2){flex-direction:column;align-items:flex-start;gap:15px;display:flex}.footer a:not(.footer-name){font-size:12px}.footer a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:20px;padding-block:25px;font-size:10px;display:flex}.intro{padding-top:75px;padding-bottom:45px}.intro .eyebrow{margin-bottom:28px}.intro h1{max-width:1100px}.intro>p{max-width:740px;margin-top:30px;font-size:16px}.intro .back{color:var(--muted);margin-bottom:32px;font-size:12px;display:inline-block}.catalogue{padding-top:35px}.catalogue-head{justify-content:space-between;align-items:center;gap:25px;display:flex}.catalogue-head h2{font-size:30px}.filters{flex-wrap:wrap;gap:12px;margin:28px 0 38px;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);background:0 0;padding:12px 18px;font-size:12px}.filters button[aria-pressed=true]{background:var(--blue);color:var(--bg);border-color:var(--blue)}.filters button:disabled{cursor:default}.project-card[hidden]{display:none}.tags{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.tags>span,.tags>a{border:1px solid var(--line);padding:8px 12px;font:11px/1.5 Consolas,monospace}.tags>a:hover{border-color:var(--blue);color:var(--blue)}.case-intro h1{overflow-wrap:anywhere;font-size:clamp(2.8rem,6vw,6rem)}.case-layout{grid-template-columns:260px minmax(0,1fr);gap:80px;padding-block:25px 65px;display:grid}.case-facts{border-top:1px solid var(--line);align-self:start;padding-top:25px}.case-facts .eyebrow{margin-bottom:15px}.case-facts p{margin-bottom:30px;font-size:13px}.case-facts>a{margin-block:16px;font-size:12px;display:block}.case-content{min-width:0}.case-content section{padding-bottom:55px}.case-content h2{margin:18px 0 24px;font-size:35px}.case-content p,.case-content li{font-size:15px}.architecture{margin:0;padding:0;list-style:none}.architecture li{border:1px solid var(--line);align-items:center;gap:20px;margin:0;padding:22px;display:flex}.architecture li+li{border-top:0}.architecture .mono{color:var(--blue)}.caption{color:var(--muted);margin-top:18px;line-height:1.75;font-size:11px!important}.case-content .limits{border-top:1px solid var(--blue);background:var(--panel);margin-bottom:50px;padding:32px}.case-screenshot{margin-bottom:50px}.case-screenshot img{border:1px solid var(--line);max-width:100%;height:auto;display:block}.demo-note{border-top:1px solid var(--line);padding-top:25px}.related{border-block:1px solid var(--line)}.related>a{border-bottom:1px solid var(--line);justify-content:space-between;padding:24px 0;font:26px Georgia,serif;display:flex}.timeline{padding-top:20px}.timeline article{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:60px;padding-block:38px;display:grid}.timeline h2{margin-bottom:18px;font-size:37px}.timeline h3{color:var(--blue);font-size:16px}.timeline ul{margin-block:25px}.principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;display:grid}.principles article{border-top:1px solid var(--line);padding-top:25px}.principles h3{margin:22px 0 15px}.principles p{font-size:14px}.skill-list{padding-top:15px}.skill-list article{border-top:1px solid var(--line);grid-template-columns:100px minmax(0,1fr);gap:30px;padding-block:38px;display:grid}.skill-list h2{margin:18px 0;font-size:34px}.skill-tools{color:var(--ink);margin-bottom:16px}.skill-list p{max-width:850px}.contact-options{grid-template-columns:1.35fr 1fr;gap:70px;padding-top:20px;display:grid}.contact-options article{border-top:1px solid var(--line);padding-top:30px}.contact-options h2{margin:25px 0;font-size:36px}.contact-options p{font-size:14px}.email{overflow-wrap:anywhere;color:var(--blue);margin-top:30px;font-size:clamp(1.1rem,2vw,1.7rem);display:block}.commercial-contact{background:var(--panel);padding:30px}.commercial-contact .text-link{width:fit-content;margin-top:20px;display:block}.wide-copy{max-width:750px;margin:28px 0}.legal{max-width:950px}.legal h2{margin:35px 0 20px;font-size:30px}.legal a{color:var(--blue);text-decoration:underline}.not-found{min-height:65vh}@media (width<=1050px){.hero{gap:35px}.header nav{gap:17px;font-size:11px}.case-layout{grid-template-columns:220px minmax(0,1fr);gap:40px}.contact-options{gap:35px}.hero-lead{font-size:15px}}@media (width<=760px){.header{flex-wrap:wrap;gap:0;min-height:90px;padding-block:22px;position:relative}.identity{gap:14px}.identity>span:last-child{font-size:12px}.identity small{font-size:7px}.identity>span:first-child{font-size:29px}.menu:not([hidden]){gap:20px;font-size:12px;display:inline-flex}.header nav{flex-wrap:wrap;gap:8px 20px;width:100%;padding-top:20px}.header nav.enhanced{display:none}.header nav.open{flex-direction:column;align-items:stretch;display:flex}.header nav a{padding-block:12px}.hero{grid-template-columns:1fr;gap:45px;padding-block:48px}.hero h1{margin-top:25px;font-size:clamp(3.6rem,13vw,6rem)}.hero-lead{font-size:15px}.hero-foot{font-size:9px}.systems-map{padding:23px}.systems-map figcaption{margin-bottom:28px}.map-row{padding-block:19px}.map-row h2{font-size:30px}.context-strip{flex-direction:column;align-items:flex-start;gap:22px}.section{padding-block:58px}.section-head{flex-direction:column;align-items:flex-start;gap:24px}.section-head h2{font-size:42px}.projects-grid{grid-template-columns:1fr}.project-card{padding:24px}.project-card h3{font-size:32px}.project-card>p{min-height:0}.project-map{margin-block:24px}.project-map strong{font-size:11px}.project-meta{font-size:9px}.approach,.editorial,.studio-note{grid-template-columns:1fr;gap:30px}.studio-note{padding-block:40px}.contact-band{padding-block:60px}.contact-band>div{flex-direction:column;align-items:flex-start;gap:30px}.contact-band h2{font-size:43px}.footer{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-wrap:wrap;gap:20px;font-size:10px}.footer-bottom>span{width:100%}.intro{padding-block:48px 30px}.intro h1{font-size:clamp(2.9rem,11.5vw,4.5rem)}.intro>p{font-size:15px}.catalogue-head{flex-direction:column;align-items:flex-start;gap:18px}.filters{gap:9px}.filters button{padding:12px;font-size:11px}.case-layout{grid-template-columns:1fr;gap:30px}.case-facts{flex-direction:column;align-items:flex-start;display:flex}.case-facts p{margin-bottom:20px}.case-facts .button{width:100%;max-width:320px}.case-content h2{font-size:30px}.case-content section{padding-bottom:38px}.case-content .limits{margin-bottom:35px;padding:24px}.architecture li{padding:18px 15px}.timeline article{grid-template-columns:1fr;gap:20px;padding-block:30px}.timeline h2{font-size:32px}.principles{grid-template-columns:1fr;gap:30px}.skill-list article{grid-template-columns:1fr;gap:20px}.skill-list h2{font-size:31px}.contact-options{grid-template-columns:1fr;gap:40px}.commercial-contact{padding:24px}.contact-options h2{font-size:30px}.prose p{font-size:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
