@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{color-scheme:dark;--bg:#080f1c;--panel:#101d30;--ink:#edf3ff;--muted:#9cacc2;--line:#26364e;--blue:#508cff;--cyan:#68e0e0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.7 'DM Sans',sans-serif}.wrap{width:min(1320px,90%);margin-inline:auto}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:1rem;font-size:.8rem;font-weight:600;letter-spacing:.07em}.mark{font-family:'IBM Plex Mono',monospace;font-size:1.2rem;color:white;letter-spacing:-.07em;border:1px solid #355584;background:#102039;padding:.2rem .6rem}.mark span{color:var(--cyan)}nav{display:flex;gap:2.5rem;font-size:.9rem}nav a{color:var(--muted)}nav a:hover{color:white}nav span{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--blue);margin-left:.3rem}.edition,.eyebrow,.cover-label,.cover-bottom,.section-heading>span,.draft-note{font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.08em}.edition{color:var(--muted)}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:4rem;align-items:center;padding-block:6rem 5rem}.eyebrow{color:var(--cyan);display:flex;align-items:center;gap:.75rem}.tiny-line{width:26px;height:2px;background:var(--cyan)}h1{font:600 clamp(2.7rem,4.3vw,4.7rem)/1.13 'Manrope',sans-serif;letter-spacing:-.055em;margin:1.5rem 0}h1>span{color:var(--blue)}.hero-description{color:var(--muted);font-size:1.1rem;max-width:47ch;margin:1.6rem 0 2rem}.primary-link{background:#2867e7;display:inline-flex;align-items:center;gap:2rem;padding:.8rem 1.25rem;font-size:.95rem;font-weight:600;border:1px solid #578cfa;border-radius:5px;box-shadow:0 8px 30px #1663ed20}.primary-link:hover{background:#397bff}.primary-link span{font-size:1.3rem}.specialties{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:2.8rem;font:500 .68rem/1.7 'IBM Plex Mono',monospace;letter-spacing:.04em;color:#a5b6ce}.architecture{margin:0;border:1px solid #2a405d;border-radius:12px;background:radial-gradient(ellipse at 50% 35%,#18375b80,transparent 70%),#0c1727;box-shadow:0 25px 80px #0004;transform:perspective(1400px) rotateY(-4deg)}figcaption{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem;border-bottom:1px solid var(--line);font:.67rem/1.6 'IBM Plex Mono',monospace;color:#b0c2dd}.diagram-label{color:var(--cyan)}.architecture-body{padding:2.5rem 1.4rem;background-image:radial-gradient(#4f6d923b 1px,transparent 1px);background-size:19px 19px}.cloud-core{width:205px;max-width:100%;margin:auto;display:flex;align-items:center;flex-direction:column;border:1px solid #548afa;border-radius:9px;padding:1.3rem;background:#12284a;box-shadow:0 0 50px #236dff18}.cloud-core svg{width:44px;height:44px;color:#76bdff;margin-bottom:.6rem}.cloud-core>span{font-weight:600;font-size:1.1rem}.cloud-core small{font:.65rem/1.5 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#8cafdc;margin-top:.3rem}.connector-line{height:40px;width:1px;background:#416589;margin:auto}.focus-nodes{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding-top:21px}.focus-nodes:before{content:'';position:absolute;top:0;left:16%;right:16%;height:1px;background:#416589}.focus-nodes>div{position:relative;display:flex;align-items:center;flex-direction:column;text-align:center;background:#101f32;border:1px solid #324762;border-radius:5px;padding:.9rem .3rem}.focus-nodes>div:before{content:'';position:absolute;top:-22px;height:21px;width:1px;background:#416589}.node-icon{color:var(--cyan);font:.75rem 'IBM Plex Mono',monospace;margin-bottom:.5rem}.focus-nodes strong{font-size:.8rem;font-weight:500}.focus-nodes small{font-size:.68rem;line-height:1.5;color:var(--muted);margin-top:.3rem}.diagram-footer{display:flex;justify-content:space-between;padding:1rem 1.4rem;border-top:1px solid var(--line);font:.65rem 'IBM Plex Mono',monospace;color:#8fa8c6}.work{border-top:1px solid var(--line);padding-top:3rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}h2{font-family:Manrope,sans-serif;letter-spacing:-.04em;font-weight:600;font-size:2rem;line-height:1.3;margin:0}.heading-dot{color:var(--cyan)}.section-heading>span{color:var(--muted)}.draft-note{color:var(--muted);margin:.75rem 0 2rem}.projects{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem}.projects article{background:#0d1829;border:1px solid #273a54;border-radius:9px;overflow:hidden;transition:border-color .2s,transform .2s}.projects article:hover{border-color:#4b72a3;transform:translateY(-3px)}.project-cover{min-height:270px;padding:1.5rem 1.8rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;border-bottom:1px solid #2b4767;background-image:linear-gradient(135deg,#163860,#10243e)}.cover-two{background-image:linear-gradient(135deg,#143c46,#10242f)}.cover-label{color:#a9cfff}.cover-two .cover-label{color:#84d9d7}.cover-title{font:500 2.5rem/1.15 'Manrope',sans-serif;letter-spacing:-.045em;position:relative}.project-glyph{float:right;color:#74aeec;font:3.5rem/1 'IBM Plex Mono',monospace;border:1px solid #517cab70;border-radius:10px;padding:.3rem .8rem}.cover-two .project-glyph{color:#70d2cc;border-color:#46948a70}.cover-bottom{display:flex;justify-content:space-between;color:#a2bcda;font-size:.68rem}.project-caption{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 1.8rem .5rem}h3{font-size:1.2rem;font-weight:500;line-height:1.4;margin:0}.project-caption p{font-size:.875rem;color:var(--muted);margin:.4rem 0}.project-number{color:#7893b3;font: .8rem 'IBM Plex Mono',monospace}details{margin:0 1.8rem}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1rem 0;color:#85b5ff;font-size:.9rem}summary::-webkit-details-marker{display:none}summary span{font-size:1.3rem}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);font-size:1rem;padding-top:.7rem;border-top:1px solid var(--line);margin:0 0 1.6rem}details strong{color:var(--ink);font-weight:500}.about{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-block:4rem;margin-top:5rem;border-top:1px solid var(--line)}.about h2{margin-top:1.2rem;font-size:2.2rem}.about-copy p{margin:0 0 1rem;font-size:1.15rem;color:#c7d4e7}.about-copy .muted{font-size:.9rem;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;border-top:1px solid var(--line);padding-block:2rem}footer>span,footer>a:last-child{font-size:.8rem;color:var(--muted)}@media(min-width:1600px){.hero{padding-block:7rem}}@media(max-width:1000px){.hero{gap:2rem}.architecture{transform:none}.edition{display:none}.focus-nodes{gap:.3rem}.architecture-body{padding-inline:.8rem}.focus-nodes small{font-size:.75rem}.specialties{font-size:.75rem}}@media(max-width:760px){header{min-height:85px;gap:1rem}.identity{font-size:.7rem;gap:.6rem;letter-spacing:0}nav{gap:1rem;font-size:.8rem}nav span{display:none}.hero{grid-template-columns:1fr;padding-block:3.5rem;gap:3rem}h1{font-size:clamp(2.7rem,8.8vw,4.5rem)}.hero-description{font-size:1rem}.specialties{margin-top:2rem}.architecture{max-width:520px;width:100%;justify-self:center}.architecture-body{padding:2rem 1rem}.focus-nodes strong{font-size:.875rem}.focus-nodes small{font-size:.75rem}.projects{grid-template-columns:1fr}.section-heading h2{font-size:1.65rem}.project-cover{min-height:250px}.about{grid-template-columns:1fr;gap:1.5rem;margin-top:3rem;padding-block:3rem}.about h2{font-size:2rem}footer{flex-wrap:wrap}footer>span{order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Architecture case studies */
.architecture-note{color:var(--muted);font-size:.9rem;max-width:75ch;margin:-.5rem 0 2rem}.projects{align-items:start}.project-topline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;padding:1.5rem 1.6rem 0;font:.7rem/1.6 'IBM Plex Mono',monospace;color:var(--cyan)}.project-state{color:#bccae0;font-family:'DM Sans',sans-serif;font-size:.8rem;letter-spacing:0}.project-intro{padding:1rem 1.6rem}.project-intro h3{font-size:1.35rem}.project-intro p{color:var(--muted);font-size:1rem;line-height:1.65;min-height:5em;margin:.75rem 0 .3rem}.case-diagram{margin:0 1rem;background:#0c1829;border:1px solid #2b405c;border-radius:7px;overflow:hidden}.diagram-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid var(--line);font-size:.875rem}.diagram-toolbar>span{color:#c7d8ee}.diagram-expand,.modal-close{font:500 .875rem 'DM Sans',sans-serif;cursor:pointer;border:1px solid #38567c;background:#142b47;color:#b4d4ff;padding:.45rem .7rem;border-radius:4px;white-space:nowrap}.diagram-expand:hover,.modal-close:hover{background:#254a75}.diagram-expand:focus-visible,.modal-close:focus-visible,.diagram-scroll:focus-visible,.modal-scroll:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}.diagram-scroll{overflow-x:auto}.diagram-scroll img{display:block;width:100%;min-width:520px;height:auto}.case-diagram figcaption{font:400 .75rem/1.6 'DM Sans',sans-serif;padding:.75rem 1rem;color:#a3b8d1;display:block;border-top:1px solid var(--line);border-bottom:0}.service-tags{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.6rem .2rem}.service-tags span{font-size:.75rem;color:#abc7ea;background:#132339;border:1px solid #293d58;border-radius:4px;padding:.2rem .6rem}.projects details{margin-inline:1.6rem}.projects summary{font-size:.95rem}.case-body{border-top:1px solid var(--line);padding:.8rem 0 1rem}.case-body h4{margin:.7rem 0 .3rem;font-size:1rem;font-weight:500;color:#dceaff}.case-body p{border:0;padding:0;margin:0 0 1rem;font-size:1rem}dialog{background:#0c1727;color:var(--ink);border:1px solid #42658e;border-radius:12px;padding:1.6rem;width:min(1080px,94vw);max-height:90vh;overflow-y:auto;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#020711dd;backdrop-filter:blur(6px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.modal-heading h2{font-size:1.6rem;margin-top:.5rem}.modal-scroll{overflow:auto}.modal-scroll img{width:100%;min-width:620px;height:auto;display:block}#modal-note{font-size:.9rem;color:var(--muted)}#diagram-download{color:#9bc5ff;font-size:.95rem;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.project-intro p{min-height:0}.project-topline{padding:1.2rem 1.2rem 0}.project-intro{padding:1rem 1.2rem}.case-diagram{margin-inline:.65rem}.diagram-toolbar{padding:.7rem;font-size:.8rem;flex-wrap:wrap}.projects details{margin-inline:1.2rem}.service-tags{padding-inline:1.2rem}.modal-heading{align-items:start}.modal-heading h2{font-size:1.25rem}dialog{padding:1rem}.project-intro h3{font-size:1.25rem}}
/* Visual direction: luminous architecture editorial */
:root{--bg:#080a13;--panel:#111528;--ink:#f1f1fa;--muted:#a3a8bf;--line:#282c44;--blue:#8d9eff;--cyan:#8be6d9}body{background:radial-gradient(ellipse 55% 650px at 88% 13%,#35216a38,transparent),radial-gradient(ellipse 55% 500px at 5% 0%,#1d448c26,transparent),var(--bg)}.wrap{width:min(1380px,90%)}header{border-bottom-color:#ffffff12;min-height:100px}.identity{letter-spacing:.02em}.mark{background:#161a30;border-color:#555e92;border-radius:8px;padding:.35rem .65rem}.edition{color:#c2bad9}.hero{min-height:780px;grid-template-columns:1.05fr 1fr;gap:3rem;padding-block:4rem 5rem;position:relative}.hero-index{display:block;color:#747d9e;font:.72rem 'IBM Plex Mono',monospace;letter-spacing:.09em;margin-bottom:2rem}.hero .eyebrow{font-size:.75rem;color:#b4b2d7}.hero h1{font-size:clamp(4rem,7.4vw,7.3rem);line-height:1.02;letter-spacing:-.065em;font-weight:600;margin:1.3rem 0 1.8rem}.hero h1>span{background:linear-gradient(110deg,#98adff 0%,#c095f5 52%,#6de9db 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-description{font-size:1.05rem;max-width:40ch;color:#b1b6cc}.primary-link{border-radius:50px;padding:.9rem 1.5rem;background:#dadffb;color:#181a35;border-color:#e2e5ff;box-shadow:none}.primary-link:hover{background:#fff;box-shadow:0 0 35px #9b9ffb30}.specialties{color:#9198b6;gap:.4rem 1rem;font-size:.68rem;margin-top:2rem}.architecture{position:relative;border:1px solid #64679955;border-radius:24px;background:linear-gradient(145deg,#242841bd,#0e1226f2);box-shadow:0 50px 100px #0007,0 0 100px #6743bc20,inset 0 1px #ffffff15;transform:perspective(1600px) rotateY(-8deg) rotateZ(2deg);isolation:isolate;margin-top:4rem}.architecture:before{content:'';position:absolute;inset:-22px;border:1px solid #60629b25;border-radius:35px;z-index:-1}.architecture figcaption{border-color:#8584c629;padding:1.6rem;font-size:.64rem;color:#b9b9db}.diagram-label{color:#98e1df}.architecture-body{padding:3rem 1.5rem;background-image:radial-gradient(#9392ca35 1px,transparent 1px);background-size:23px 23px}.cloud-core{width:215px;padding:1.5rem 1rem;border-radius:18px;border-color:#a6a0f4;background:linear-gradient(135deg,#394573,#292649);box-shadow:0 0 60px #9a78ed29,inset 0 0 20px #b2b1ff10}.cloud-core svg{width:60px;height:60px;color:#b0cdfc}.cloud-core>span{font-size:1.25rem}.cloud-core small{color:#bec3e7}.connector-line{height:55px;background:linear-gradient(#a49aff,#75d1db)}.focus-nodes{gap:.6rem}.focus-nodes>div{padding:1.2rem .4rem;background:linear-gradient(135deg,#242c4d,#19213b);border:1px solid #68789f85;border-radius:10px;box-shadow:0 10px 25px #0003}.focus-nodes:before,.focus-nodes>div:before{background:#7c90b4}.node-icon{border:1px solid #649aab55;background:#38556855;border-radius:50%;padding:.4rem;margin-bottom:.8rem}.focus-nodes small{color:#b4bdd4}.diagram-footer{border-color:#8584c629;color:#949cc3;padding:1.4rem}.discipline-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2.5rem;background:linear-gradient(100deg,#1c203e,#20243f 50%,#142c35);border-block:1px solid #6d739331;padding:1.9rem 5%;font:600 clamp(.9rem,1.5vw,1.25rem) 'Manrope',sans-serif;letter-spacing:.15em;color:#babfda}.discipline-strip b{color:#9192d3;font-size:1.6rem;font-weight:400}.work{border:0;padding-top:6rem}.section-heading{align-items:end}.section-heading h2{font-size:clamp(2.5rem,4.5vw,4.5rem);font-weight:500;letter-spacing:-.055em;line-height:1.05}.section-heading em{font-family:Georgia,serif;font-weight:400;color:#a8a6df}.section-heading>span{border:1px solid #454969;padding:.55rem .9rem;border-radius:30px}.draft-note{margin-top:1.5rem;color:#a6a4c8}.architecture-note{font-size:.875rem;margin:0 0 2.5rem;max-width:66ch}.projects{gap:1.6rem}.projects article{--project-accent:#8fb3ff;position:relative;background:linear-gradient(140deg,#141a30,#101323);border-color:#343c5a;border-radius:18px;box-shadow:0 15px 45px #0002;transition:transform .25s,border-color .25s,box-shadow .25s}.projects article:hover{border-color:var(--project-accent);transform:translateY(-5px);box-shadow:0 20px 60px #0004}.project-topline{font-size:.7rem;color:var(--project-accent);padding:1.6rem 1.7rem 0}.project-state{font-size:.75rem;color:#c1c5db;background:#ffffff07;padding:.2rem .6rem;border-radius:20px;border:1px solid #ffffff10}.project-intro{position:relative;padding:1.1rem 1.7rem 1.5rem}.display-number{display:block;font:500 4rem/1 'Manrope',sans-serif;letter-spacing:-.07em;color:var(--project-accent);opacity:.75;margin-bottom:1.2rem}.project-intro h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.025em;max-width:23ch}.project-intro p{font-size:.95rem;color:#aeb4cc;min-height:0;margin-top:1.1rem}.case-diagram{background:#10152a;border-color:#6c769534;border-radius:10px;margin-inline:1rem;box-shadow:inset 0 1px #ffffff06}.diagram-toolbar{border-color:#ffffff0d;padding:.9rem 1rem}.diagram-toolbar>span{font-size:.8rem;color:#bdc6e0}.diagram-expand{border:0;background:#ffffff08;color:var(--project-accent);font-size:.8rem;border-radius:20px}.diagram-expand:hover{background:#ffffff15}.case-diagram figcaption{border-color:#ffffff0d;color:#949fbd;font-size:.75rem}.service-tags{padding-top:1.3rem}.service-tags span{border-color:#ffffff0d;border-radius:30px;background:#ffffff05;color:#b9c1dc;padding:.3rem .7rem}.projects details{margin-top:.4rem}.projects summary{color:var(--project-accent);padding-block:1.2rem}.case-body{border-color:#ffffff13}.case-body p{color:#adb6d1}.projects article:first-child,.projects article:last-child{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr;column-gap:1.5rem;grid-template-areas:'meta meta' 'intro diagram' 'tags diagram' 'details details';padding-bottom:.4rem}.projects article:first-child .project-topline,.projects article:last-child .project-topline{grid-area:meta;padding-bottom:1.8rem}.projects article:first-child .project-intro,.projects article:last-child .project-intro{grid-area:intro;padding-top:0;padding-left:2.3rem;padding-bottom:0}.projects article:first-child .display-number,.projects article:last-child .display-number{font-size:5.3rem;margin-bottom:1.5rem}.projects article:first-child h3,.projects article:last-child h3{font-size:2.2rem;max-width:20ch}.projects article:first-child .case-diagram,.projects article:last-child .case-diagram{grid-area:diagram;margin-right:1.8rem;margin-left:0;align-self:center}.projects article:first-child .service-tags,.projects article:last-child .service-tags{grid-area:tags;padding-left:2.3rem;padding-bottom:1rem;align-content:start}.projects article:first-child details,.projects article:last-child details{grid-area:details;border-top:1px solid #ffffff10;margin-top:1.3rem;margin-inline:2.3rem}.projects article:first-child .case-body,.projects article:last-child .case-body{columns:2;column-gap:3rem}.projects article:nth-child(2){--project-accent:#83e0cd;background:linear-gradient(135deg,#172b32,#101922)}.projects article:nth-child(3){--project-accent:#c0a6f4;background:linear-gradient(135deg,#28213e,#171425)}.projects article:nth-child(4){--project-accent:#f2c198;background:linear-gradient(135deg,#292333,#191822);grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;column-gap:1.5rem;grid-template-areas:'meta meta' 'diagram intro' 'diagram tags' 'details details'}.projects article:nth-child(4) .project-topline{grid-area:meta;padding-bottom:1.7rem}.projects article:nth-child(4) .project-intro{grid-area:intro;padding-top:0;padding-right:2rem}.projects article:nth-child(4) .case-diagram{grid-area:diagram;margin-left:1.8rem;margin-right:0}.projects article:nth-child(4) .service-tags{grid-area:tags;align-content:start}.projects article:nth-child(4) details{grid-area:details;margin-top:1.3rem;border-top:1px solid #ffffff10}.about{margin-top:6rem;padding:4rem 0;border-color:#ffffff16;gap:5rem}.about h2{font-size:clamp(2.2rem,3.3vw,3.4rem);font-weight:500}.about-copy{padding-top:2rem}.about .eyebrow{color:#b9a8df}footer{border-color:#ffffff16}dialog{background:linear-gradient(145deg,#171a30,#0e1423);border-color:#797dae70;box-shadow:0 30px 120px #000b}.modal-close{background:#33334d;border-color:#74778e}.modal-heading .eyebrow{color:#bdadf0}@media(max-width:1100px){.hero{min-height:690px;gap:2rem}.hero h1{font-size:clamp(4rem,8vw,6rem)}.architecture{transform:none}.architecture-body{padding:2.2rem 1rem}.architecture figcaption{padding:1.2rem .9rem}.focus-nodes strong{font-size:.75rem}.focus-nodes small{font-size:.7rem}.projects article:first-child h3,.projects article:last-child h3{font-size:1.7rem}.diagram-scroll img{min-width:520px}.specialties{font-size:.7rem}}@media(max-width:760px){header{min-height:85px}.hero{grid-template-columns:1fr;min-height:0;padding-block:3rem 4rem;gap:3rem}.hero-index{margin-bottom:1.5rem}.hero h1{font-size:clamp(3.8rem,14vw,6.5rem)}.hero-description{max-width:45ch}.architecture{margin-top:0;max-width:520px}.architecture:before{inset:-10px;border-radius:30px}.architecture-body{padding:2rem 1rem}.cloud-core{width:210px}.focus-nodes strong{font-size:.8rem}.focus-nodes small{font-size:.75rem}.discipline-strip{gap:.8rem 1.1rem;padding:1.4rem 4%;font-size:.7rem;letter-spacing:.08em}.discipline-strip b{font-size:1rem}.work{padding-top:3.5rem}.section-heading h2{font-size:2.8rem}.projects{grid-template-columns:1fr;gap:1.5rem}.projects article:first-child,.projects article:last-child,.projects article:nth-child(4){display:block;padding-bottom:0}.projects article:first-child .project-topline,.projects article:last-child .project-topline,.projects article:nth-child(4) .project-topline{padding:1.4rem 1.2rem 0}.projects article .project-intro,.projects article:first-child .project-intro,.projects article:last-child .project-intro,.projects article:nth-child(4) .project-intro{padding:1.2rem}.projects article .display-number,.projects article:first-child .display-number,.projects article:last-child .display-number{font-size:3.5rem;margin-bottom:1rem}.projects article .project-intro h3,.projects article:first-child h3,.projects article:last-child h3{font-size:1.65rem}.projects article .case-diagram,.projects article:first-child .case-diagram,.projects article:last-child .case-diagram,.projects article:nth-child(4) .case-diagram{margin:0 .7rem}.projects article .service-tags,.projects article:first-child .service-tags,.projects article:last-child .service-tags{padding:1rem 1.2rem .3rem}.projects article details,.projects article:first-child details,.projects article:last-child details{margin:0 1.2rem;border-top:0}.projects article:first-child .case-body,.projects article:last-child .case-body{columns:auto}.project-topline{padding-inline:1.2rem}.project-state{font-size:.75rem}.about{gap:1rem;margin-top:3rem}.about-copy{padding-top:1rem}.specialties{font-size:.7rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.projects>article,.projects>article>*{min-width:0}.hero>*{min-width:0}
.project-value{display:grid;grid-template-columns:1fr 1.7fr;gap:1rem;padding:1rem 0;break-inside:avoid}.project-value span{display:flex;flex-direction:column;gap:.4rem}.project-value small{font:.65rem 'IBM Plex Mono',monospace;color:var(--project-accent)}.project-value strong{font-size:.95rem;font-weight:500;color:#dce5ff}.rank-reason{font-size:.875rem!important}.ranking-explainer{margin:0 0 2rem;border-block:1px solid #ffffff15;max-width:75ch}.ranking-explainer summary{padding:1rem 0}.ranking-explainer p{margin-bottom:1rem;border:0;padding:0;font-size:.95rem}.projects article{--project-accent:#a2b9ff}.projects article:nth-child(2){--project-accent:#91dfd3}.projects article:nth-child(3){--project-accent:#c9abfa}.projects article:nth-child(4){--project-accent:#a4b6ff}.case-body .project-value{column-span:all}.project-state{max-width:100%;white-space:normal}@media(max-width:760px){.project-value{grid-template-columns:1fr;gap:1rem}}
