@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-cyrillic-ext-wght-normal.C8B9Chlh.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-cyrillic-wght-normal.DbeVG3Ps.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-greek-wght-normal.DPM5d9ub.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-vietnamese-wght-normal.DcI17N1q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-latin-ext-wght-normal.DZyYlgcm.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geologica-latin-wght-normal.BBL8hQxZ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#fff;--paper-deep:#f4f4f1;--ink:#111;--ink-soft:#686868;--rule:#d8d8d2;--blue:#2455f5;--blue-dark:#1738a8;--orange:#ff6846;--sea:#347f73;--white:#fff;--display:"Geologica Variable", "Arial Narrow", sans-serif;--max-width:1480px;--gutter:clamp(1.25rem, 4vw, 4.5rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);background:var(--paper);font-family:var(--display);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.5}::selection{color:var(--white);background:var(--blue)}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:.08em}a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}p,h1,h2,h3{margin-top:0}svg{max-width:100%;display:block}.skip-link{z-index:20;color:var(--white);background:var(--ink);padding:.75rem 1rem;font-weight:650;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{width:min(100%, var(--max-width));min-height:7rem;padding:1.25rem var(--gutter);border-bottom:1px solid var(--rule);grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;display:grid}.identity{color:var(--ink);font-variation-settings:"wght" 650;letter-spacing:.01em;justify-self:start;align-items:center;gap:.85rem;font-size:.82rem;text-decoration:none;display:inline-flex}.identity__mark{border:1px solid var(--ink);border-radius:0;grid-template-columns:repeat(2,1fr);width:2.6rem;height:2.6rem;display:grid;overflow:hidden}.identity__mark span{place-items:center;font-size:.66rem;line-height:1;display:grid}.identity__mark span+span{color:var(--white);background:var(--ink)}.site-header nav{justify-content:center;gap:clamp(1.25rem,3vw,2.75rem);display:flex}.site-header nav a,.header-link{font-variation-settings:"wght" 610;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;text-decoration:none;position:relative}.site-header nav a:after{background:var(--blue);content:"";transform-origin:100%;height:2px;transition:transform .18s;position:absolute;bottom:-.45rem;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-link{justify-self:end}.hero,.work,.about,.contact,.site-footer{width:min(100%, var(--max-width));padding-inline:var(--gutter);margin-inline:auto}.hero{grid-template-columns:minmax(0,1.06fr) minmax(26rem,.94fr);align-items:center;gap:clamp(3rem,7vw,8rem);min-height:calc(100svh - 7rem);padding-block:clamp(5rem,9vw,10rem);display:grid}.eyebrow{color:var(--blue-dark);font-variation-settings:"wght" 660;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.69rem}.eyebrow:before{vertical-align:.25em;content:"";background:currentColor;width:1.65rem;height:1px;margin-right:.65rem;display:inline-block}.hero h1{font-variation-settings:"CRSV" 0, "SHRP" 40, "slnt" 0, "wght" 720;letter-spacing:-.072em;max-width:10ch;margin-bottom:2.25rem;font-size:clamp(3.9rem,7.7vw,8rem);line-height:.88}.hero h1 em{color:var(--white);background:var(--blue);font-family:var(--display);font-variation-settings:"wght" 720;letter-spacing:-.07em;padding:.05em .11em .1em;font-style:normal;display:inline-block}.hero h1 em:after{content:none}.hero__intro{max-width:35rem;color:var(--ink-soft);font-variation-settings:"wght" 360;margin-bottom:3.25rem;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.45}.hero__jump{font-variation-settings:"wght" 650;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.9rem;font-size:.72rem;text-decoration:none;display:inline-flex}.hero__jump-line{background:var(--ink);transform-origin:0;width:4rem;height:1px;transition:transform .22s}.hero__jump:hover .hero__jump-line{transform:scaleX(1.35)}.atlas{border:1px solid var(--rule);color:var(--white);border-color:var(--ink);background:var(--ink);box-shadow:none;border-radius:0;padding:clamp(1.5rem,3vw,2.75rem);position:relative}.atlas:before{background:var(--orange);width:.7rem;height:.7rem;box-shadow:0 0 0 .45rem var(--white);content:"";border-radius:0;position:absolute;top:-.55rem;right:4rem}.atlas__plot{aspect-ratio:1;background:radial-gradient(circle,#0000 28%,#3c3c3c 28.25%,#0000 28.6%),radial-gradient(circle,#0000 48%,#3c3c3c 48.25%,#0000 48.6%);border:1px solid #3c3c3c;border-radius:50%;position:relative}.atlas__plot:before,.atlas__plot:after{z-index:0;content:"";background:#3c3c3c;position:absolute}.atlas__plot:before{width:1px;top:6%;bottom:6%;left:50%}.atlas__plot:after{height:1px;top:50%;left:6%;right:6%}.atlas__crosshair{z-index:1;background:var(--white);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:calc(50% - .25rem);left:calc(50% - .25rem)}.atlas__axis{z-index:2;color:#b8b8b8;background:var(--ink);font-variation-settings:"wght" 650;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .4rem;font-size:.55rem;position:absolute}.atlas__axis--top,.atlas__axis--bottom{left:50%;transform:translate(-50%)}.atlas__axis--top{top:-.75rem}.atlas__axis--bottom{bottom:-.75rem}.atlas__axis--left{top:50%;left:-1.5rem;transform:rotate(-90deg)translateY(-50%)}.atlas__axis--right{top:50%;right:-1.5rem;transform:rotate(90deg)translateY(-50%)}.atlas__point{top:var(--y);left:var(--x);z-index:3;border:2px solid var(--white);background:var(--blue);width:.72rem;height:.72rem;box-shadow:0 0 0 1px var(--blue-dark);border-radius:0;text-decoration:none;transition:transform .18s,background .18s;position:absolute;transform:translate(-50%,-50%)}.atlas__point--marque-and-reprisal{--x:82%;--y:25%}.atlas__point--ask-thane{--x:19%;--y:19%}.atlas__point--connecdoku{--x:65%;--y:43%}.atlas__point--dynastic-histories{--x:74%;--y:73%}.atlas__point--housing-growth{--x:20%;--y:76%}.atlas__point--hilton-zhao{--x:43%;--y:89%}.atlas__point:hover,.atlas__point:focus-visible{z-index:6;background:var(--orange);transform:translate(-50%,-50%)scale(1.35)}.atlas__point:focus-visible{outline-offset:5px}.atlas__pulse{opacity:0;border:1px solid;border-radius:0;position:absolute;inset:-.4rem}.atlas__point:hover .atlas__pulse,.atlas__point:focus-visible .atlas__pulse{animation:.9s ease-out infinite pulse}.atlas__label{width:max-content;max-width:10rem;color:var(--ink);border:1px solid var(--rule);background:var(--white);font-variation-settings:"wght" 590;opacity:.86;border-radius:0;padding:.38rem .52rem;font-size:.6rem;line-height:1.2;transition:opacity .18s,transform .18s;position:absolute;bottom:1rem;left:0;transform:translate(-12%)}.atlas__label span{color:var(--blue);margin-right:.35rem;font-size:.52rem}.atlas__point:hover .atlas__label,.atlas__point:focus-visible .atlas__label{opacity:1;transform-origin:0 100%;transform:translate(-12%)translateY(-.2rem)scale(.74)}.atlas__caption{color:#b8b8b8;font-variation-settings:"wght" 560;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin:1.9rem 0 0;font-size:.58rem;display:flex}.atlas__caption span{color:var(--white)}.work{border-top:1px solid var(--rule);padding-top:clamp(6rem,10vw,11rem);padding-bottom:clamp(5rem,8vw,9rem)}.section-heading{grid-template-columns:.7fr 1.7fr 1fr;align-items:start;gap:clamp(2rem,5vw,6rem);padding-bottom:clamp(5rem,8vw,8rem);display:grid}.section-heading h2{font-variation-settings:"wght" 540;letter-spacing:-.05em;max-width:13ch;margin-bottom:0;font-size:clamp(2.5rem,4.8vw,5rem);line-height:.98}.section-heading>p:last-child{max-width:30rem;color:var(--ink-soft);font-variation-settings:"wght" 360;font-size:1.14rem;line-height:1.55}.project-list{border-top:1px solid var(--ink)}.project{border-bottom:1px solid var(--rule);grid-template-columns:4rem minmax(17rem,.72fr) minmax(0,1.28fr);gap:clamp(1.5rem,5vw,6rem);min-height:39rem;padding-block:clamp(4rem,7vw,7.5rem);scroll-margin-top:2rem;display:grid}.project__index{color:var(--blue);font-variation-settings:"wght" 670;letter-spacing:.16em;align-self:start;font-size:.7rem}.project__visual{border:1px solid var(--rule);background:var(--paper-deep);border-radius:0;align-self:stretch;place-items:center;min-width:0;min-height:27rem;display:grid;position:relative;overflow:hidden}.project:nth-child(2n) .project__visual{color:var(--white);border-color:var(--ink);background:var(--ink)}.project__visual:before{aspect-ratio:1;border:1px solid var(--rule);content:"";border-radius:50%;width:72%;position:absolute}.project:nth-child(2n) .project__visual:before{border-color:#424242}.project__visual:after{background:var(--orange);content:"";border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:1rem;right:1rem}.glyph{z-index:1;width:min(66%,19rem);color:var(--ink);transition:color .22s,transform .4s cubic-bezier(.2,.8,.2,1);position:relative}.project:hover .glyph{color:var(--blue-dark);transform:translateY(-2px)}.project:nth-child(2n) .glyph{color:var(--white)}.project:nth-child(2n):hover .glyph{color:#9fb5ff}.glyph svg{stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.glyph .glyph__accent{fill:var(--orange);stroke:var(--orange)}.glyph .glyph__knockout{fill:none;stroke:var(--white);stroke-width:3px}.project__coordinates{z-index:2;color:var(--ink-soft);letter-spacing:.11em;font-size:.56rem;position:absolute;bottom:1rem;left:1rem}.project:nth-child(2n) .project__coordinates{color:#b8b8b8}.project__content{align-self:center;min-width:0;padding-right:clamp(0rem,5vw,5rem)}.project__meta{color:var(--ink-soft);font-variation-settings:"wght" 650;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.8rem;margin-bottom:2rem;font-size:.62rem;display:flex}.project__meta span+span:before{color:var(--orange);content:"●";margin-right:.8rem}.project h3{font-variation-settings:"wght" 570;letter-spacing:-.055em;overflow-wrap:anywhere;margin-bottom:1.15rem;font-size:clamp(2.5rem,5vw,5.1rem);line-height:.93}.project__thesis{max-width:29ch;color:var(--blue-dark);font-variation-settings:"wght" 430;margin-bottom:1.75rem;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.25}.project__description{max-width:43rem;color:var(--ink-soft);font-variation-settings:"wght" 340;margin-bottom:2rem;font-size:1.08rem;line-height:1.6}.project__stack{flex-wrap:wrap;gap:.5rem;margin:0 0 2.5rem;padding:0;list-style:none;display:flex}.project__stack li{border:1px solid var(--rule);background:var(--white);font-variation-settings:"wght" 580;letter-spacing:.05em;border-radius:0;padding:.42rem .7rem;font-size:.62rem}.project__links{flex-wrap:wrap;gap:1.5rem;display:flex}.text-link{color:var(--ink);font-variation-settings:"wght" 650;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:.55rem;padding-block:.55rem;font-size:.7rem;text-decoration:none;display:inline-flex}.text-link span{transition:transform .18s}.text-link:hover span{transform:translate(.16rem,-.16rem)}.text-link--primary{color:var(--blue-dark)}.about{color:var(--white);background:var(--ink);grid-template-columns:.7fr 3fr;gap:clamp(3rem,7vw,9rem);padding-top:clamp(7rem,11vw,12rem);padding-bottom:clamp(7rem,11vw,12rem);display:grid}.about__label .eyebrow{color:#9fb9ff}.about__seal{aspect-ratio:1;color:#9fb9ff;place-items:center;width:7.5rem;margin-top:5rem;display:grid;position:relative}.about__seal>span{font-variation-settings:"wght" 700;font-size:1rem}.about__seal svg{width:100%;height:100%;animation:24s linear infinite spin;position:absolute;inset:0}.about__seal text{fill:#9fb9ff;font-variation-settings:"wght" 580;letter-spacing:1.2px;font-size:7.7px}.about__copy h2{font-variation-settings:"wght" 500;letter-spacing:-.06em;max-width:18ch;margin-bottom:clamp(4rem,8vw,7rem);font-size:clamp(3rem,6vw,6.4rem);line-height:.94}.about__columns{grid-template-columns:repeat(2,1fr);gap:clamp(2rem,6vw,6rem);max-width:60rem;display:grid}.about__columns p{color:#c9d7d2;font-variation-settings:"wght" 340;margin-bottom:0;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.55}.contact{padding-top:clamp(7rem,12vw,13rem);padding-bottom:clamp(7rem,12vw,13rem)}.contact h2{font-variation-settings:"wght" 520;letter-spacing:-.06em;margin-bottom:.25rem;font-size:clamp(2.8rem,6.5vw,7rem);line-height:.95}.contact>a{color:var(--white);background:var(--blue);font-variation-settings:"wght" 650;align-items:baseline;gap:1rem;padding:.06em .14em .12em;font-size:clamp(2.8rem,6.5vw,7rem);font-style:normal;line-height:1;text-decoration:none;transition:color .18s;display:inline-flex}.contact>a:hover{color:var(--white);background:var(--ink)}.contact>a span{font-family:var(--display);font-size:.35em;font-style:normal}.site-footer{border-top:1px solid var(--rule);min-height:8rem;color:var(--ink-soft);font-variation-settings:"wght" 570;letter-spacing:.08em;text-transform:uppercase;grid-template-columns:repeat(3,1fr);align-items:center;font-size:.62rem;display:grid}.site-footer p{margin-bottom:0}.site-footer p:nth-child(2){justify-self:center}.site-footer a{justify-self:end;text-decoration:none}.not-found{min-height:100svh;padding:var(--gutter);text-align:center;place-content:center;display:grid}.not-found h1{font-variation-settings:"wght" 560;letter-spacing:-.07em;max-width:10ch;margin-bottom:1.5rem;font-size:clamp(4rem,10vw,9rem);line-height:.9}.not-found>p:not(.eyebrow){color:var(--ink-soft);font-variation-settings:"wght" 360;font-size:1.25rem}.not-found .text-link{justify-self:center}@keyframes pulse{0%{opacity:.65;transform:scale(.65)}to{opacity:0;transform:scale(1.8)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1050px){.hero{grid-template-columns:1fr;min-height:auto}.hero__copy{max-width:52rem}.atlas{justify-self:end;width:min(100%,42rem)}.section-heading{grid-template-columns:.7fr 2fr}.section-heading>p:last-child{grid-column:2}.project{grid-template-columns:3rem minmax(15rem,.8fr) minmax(0,1.2fr);gap:2rem}.project__content{padding-right:0}}@media (width<=760px){body{background-size:2rem 2rem}.site-header{grid-template-columns:1fr auto;min-height:5.5rem}.identity__name,.site-header nav{display:none}.hero{gap:4rem;padding-top:4.5rem;padding-bottom:6rem}.hero h1{font-size:clamp(3.6rem,17vw,5.4rem)}.atlas{width:100%;box-shadow:none;border-radius:0}.atlas__label{max-width:6.4rem;font-size:.5rem}.atlas__caption{gap:.25rem;display:grid}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{grid-column:auto}.project{grid-template-columns:1fr;min-height:auto;padding-block:4.5rem}.project__index{display:none}.project__visual{min-height:20rem}.project h3{font-size:clamp(2.7rem,13vw,4.5rem)}.about{grid-template-columns:1fr}.about__seal{width:6rem;margin-top:2rem}.about__columns{grid-template-columns:1fr}.contact>a{align-items:flex-start}.site-footer{grid-template-columns:1fr auto;gap:1rem;padding-block:2rem}.site-footer p:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
