@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-cyrillic-wght-normal.21r55i81j33s-.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-vietnamese-wght-normal.1-urdg3tz8d70.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:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-latin-ext-wght-normal.058mypr7or6ud.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:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-latin-wght-normal.0ftkyn04ns0d3.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}
@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-cyrillic-wght-italic.1ttonla20kz0p.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-vietnamese-wght-italic.3vytncykm1g_u.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:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-latin-ext-wght-italic.202amtyo34ylh.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:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-latin-wght-italic.3qwa_hc_ox5j8.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}
@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-ext-wght-normal.1zrieox9119mb.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-wght-normal.2whpih27xg_2r.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-ext-wght-normal.1xlj4-0oa5zql.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-wght-normal.1fxkn-ggzj93z.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-vietnamese-wght-normal.1ahvy37o8m5gt.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-ext-wght-normal.2ktx6yqc-sbf1.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-wght-normal.0rpdhg_4ubdtf.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}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-ext-400-normal.3llip5gdtq6ee.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-400-normal.37cpwuas_4tpy.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-400-normal.123gmka-u-660.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-400-normal.2qqi-jaq060ud.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-greek-400-normal.11tra_3r8gne-.woff2)format("woff2"),url(../media/jetbrains-mono-greek-400-normal.18cfsy-6ft9zs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-vietnamese-400-normal.0l8l0wb2sbqrm.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-400-normal.0c64nmg3blt24.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-ext-400-normal.2osyrgmzpqw_0.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-400-normal.3vtl6hswl5p-t.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-400-normal.37baup9wa8gsy.woff2)format("woff2"),url(../media/jetbrains-mono-latin-400-normal.27_azdahucoj5.woff)format("woff");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{--font-display:"Playfair Display Variable";--font-sans:"Inter Variable";--font-mono:"JetBrains Mono";--ink:#0e0b0f;--bone:#f4f0e8;--travertino:#d8cdbb;--flash:#c9301a;--smoke:#8a8490;--ink-2:#3b3640;--ink-raised:#1a161c;--line-dark:#2c2730;--measure:34rem;--gutter:clamp(1.25rem, 4vw, 3.5rem);--step--1:.875rem;--step-0:1.0625rem;--step-1:1.375rem;--step-2:2.1rem;--step-3:clamp(2.6rem, 5.6vw, 5.25rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--bone);color:var(--ink);font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}a{color:inherit}:focus-visible{outline:2px solid var(--flash);outline-offset:3px}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--font-display), serif;letter-spacing:-.01em}h1{font-size:var(--step-3);max-width:12ch;font-weight:600;line-height:1.02}h2{font-size:var(--step-2);font-weight:600;line-height:1.1}h3{font-size:var(--step-0);font-weight:600}p{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dark{background:var(--ink);color:var(--bone)}.site-head{padding:1.5rem var(--gutter);justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.wordmark{font-family:var(--font-display), serif;letter-spacing:-.02em;font-size:1.85rem;font-weight:700;line-height:1;text-decoration:none}.wm-ai,.wm-dot{color:var(--flash)}.site-head nav{font-size:var(--step--1);align-items:baseline;gap:1.75rem;display:flex}.site-head nav a{color:var(--smoke);text-decoration:none}.site-head nav a:hover{color:var(--bone)}.site-head nav .nav-cta{color:var(--bone);border-bottom:1px solid var(--flash);padding-bottom:2px}@media (max-width:640px){.site-head nav a:not(.nav-cta){display:none}}.btn,.btn-ghost{font:inherit;font-size:var(--step--1);cursor:pointer;border-radius:0;padding:.85rem 1.5rem;font-weight:600;text-decoration:none;display:inline-block}.btn{background:var(--ink);color:var(--bone);border:1px solid var(--ink)}.btn:hover{background:var(--flash);border-color:var(--flash)}.dark .btn{background:var(--bone);color:var(--ink);border-color:var(--bone)}.dark .btn:hover{background:var(--flash);border-color:var(--flash);color:var(--bone)}.btn:disabled{opacity:.55;cursor:progress}.btn-ghost{color:var(--ink);border:1px solid var(--ink);background:0 0}.hero{padding:clamp(2rem, 6vw, 5rem) var(--gutter) clamp(3rem, 8vw, 7rem);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.hero-copy{justify-items:start;gap:1.75rem;padding-top:1rem;display:grid}.lede{max-width:var(--measure);color:var(--travertino);font-size:var(--step-1);line-height:1.45}@media (max-width:900px){.hero{grid-template-columns:1fr}}.fitmap{gap:1rem;margin:0;display:grid}.fitmap-presets{flex-wrap:wrap;gap:.5rem;display:flex}.chip{font:inherit;font-size:var(--step--1);border:1px solid var(--line-dark);color:var(--smoke);cursor:pointer;background:0 0;border-radius:0;padding:.4rem .9rem}.chip:hover{border-color:var(--bone);color:var(--bone)}.chip.is-on{background:var(--bone);color:var(--ink);border-color:var(--bone)}.fitmap-svg{cursor:crosshair;background:var(--ink-raised);width:100%;height:auto;display:block}.fm-frame{fill:none;stroke:var(--line-dark)}.fm-axis{stroke:var(--line-dark);stroke-dasharray:2 5}.fm-label{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;fill:var(--smoke);font-size:12px}.fm-halo{fill:var(--travertino);opacity:.07;transition:cx .5s,cy .5s}.fm-link{stroke:var(--line-dark);stroke-width:.75px}.fm-link.is-on{stroke:var(--travertino);stroke-width:1px}.fm-creator circle{fill:var(--ink-raised);stroke:var(--smoke);stroke-width:1.25px;transition:r .3s}.fm-creator.is-on circle{fill:var(--bone);stroke:var(--bone)}.fm-brand{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.fm-brand rect{fill:var(--flash)}.fitmap-list{gap:.75rem;display:grid}.fitmap-head{font-size:var(--step--1);color:var(--smoke)}.fitmap-head strong{color:var(--bone);font-weight:600}.fitmap-list ol{border-top:1px solid var(--bone);margin:0;padding:0;list-style:none}.fitmap-list li{border-bottom:1px solid var(--line-dark);grid-template-columns:1fr auto;column-gap:1rem;padding:.7rem 0;display:grid}.fl-name{font-family:var(--font-display), serif;font-size:var(--step-1);line-height:1.2}.fl-note{font-size:var(--step--1);color:var(--smoke);grid-column:1}.fl-fit{font-variant-numeric:tabular-nums lining-nums;font-size:var(--step-2);font-family:var(--font-display), serif;grid-area:1/2/span 2;align-self:center;font-weight:600}.fitmap-fine{color:var(--smoke);font-size:.8125rem}.thesis{padding:clamp(3rem, 8vw, 7rem) var(--gutter);background:var(--travertino);color:var(--ink)}.thesis p{font-family:var(--font-display), serif;max-width:30ch;font-size:clamp(1.6rem,3.4vw,2.9rem);font-style:italic;line-height:1.2}.method,.sheet,.brief-section{padding:clamp(3rem, 8vw, 6.5rem) var(--gutter)}.method h2{margin-bottom:2.5rem}.steps{border-top:1px solid var(--ink);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.steps li{align-content:start;gap:.6rem;padding:1.25rem 1.25rem 0 0;display:grid}.steps li+li{border-left:1px solid var(--travertino);padding-left:1.25rem}.step-n{font-family:var(--font-display), serif;font-size:var(--step-2);font-weight:600;line-height:1}.steps li:first-child .step-n{color:var(--flash)}.steps p{color:var(--ink-2);font-size:.9375rem}@media (max-width:1000px){.steps{grid-template-columns:1fr}.steps li,.steps li+li{border-left:0;border-bottom:1px solid var(--travertino);grid-template-columns:3rem 1fr;padding:1.25rem 0}.steps li>:not(.step-n){grid-column:2}.step-n{grid-row:1/span 2}}.sheet{border-top:1px solid var(--travertino);border-bottom:1px solid var(--travertino);background:#fbf9f4}.sheet-intro{max-width:var(--measure);gap:1rem;margin-bottom:2.5rem;display:grid}.sheet-intro p{color:var(--ink-2)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:46rem;font-size:.9375rem}th{text-align:left;color:var(--smoke);border-bottom:1px solid var(--ink);font-weight:400;font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;padding:0 1rem .75rem 0;font-size:.75rem}td{border-bottom:1px solid var(--travertino);vertical-align:baseline;padding:1rem 1rem 1rem 0}td:nth-child(2){font-family:var(--font-display), serif;font-size:var(--step-1)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fit-bar{vertical-align:middle;background:linear-gradient(to right, var(--ink) var(--w), var(--travertino) var(--w));width:4rem;height:3px;margin-right:.6rem;display:inline-block}tr.is-out td{color:var(--smoke)}tr.is-out td:nth-child(2){text-decoration:line-through;-webkit-text-decoration-color:var(--flash);text-decoration-color:var(--flash)}tr.is-out .fit-bar{background:linear-gradient(to right, var(--smoke) var(--w), var(--travertino) var(--w))}.cities{gap:var(--gutter);padding:clamp(3rem, 7vw, 5rem) var(--gutter);grid-template-columns:1fr 1fr;display:grid}.cities>div{max-width:var(--measure);gap:.75rem;display:grid}.cities h2{font-style:italic}.cities p{color:var(--ink-2)}@media (max-width:700px){.cities{grid-template-columns:1fr}}.brief-section{border-top:1px solid var(--ink);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);display:grid}.brief-intro{align-content:start;gap:1rem;max-width:26rem;display:grid}.brief-intro p{color:var(--ink-2)}@media (max-width:900px){.brief-section{grid-template-columns:1fr}}.brief{gap:1.5rem;display:grid}.brief .row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (max-width:560px){.brief .row{grid-template-columns:1fr}}.brief label{gap:.4rem;display:grid}.brief label>span,.brief legend{font-size:var(--step--1);color:var(--ink-2)}.brief input:not([type=checkbox]):not([type=radio]),.brief select,.brief textarea{font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--smoke);background:0 0;border-radius:0;padding:.5rem 0}.brief select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-repeat:no-repeat;background-size:5px 5px}.brief textarea{resize:vertical;border:1px solid var(--smoke);padding:.75rem}.brief input:focus,.brief select:focus,.brief textarea:focus{border-color:var(--ink);outline:none}.brief input:focus-visible,.brief select:focus-visible,.brief textarea:focus-visible{box-shadow:0 1px 0 var(--flash)}.brief fieldset{border:0;gap:.6rem;margin:0;padding:0;display:grid}.options{flex-wrap:wrap;gap:.5rem;display:flex}.opt{position:relative;display:inline-flex!important}.opt input{opacity:0;cursor:pointer;position:absolute;inset:0}.opt span{border:1px solid var(--travertino);padding:.4rem .9rem;font-size:var(--step--1)!important;color:var(--ink-2)!important}.opt input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bone)!important}.opt input:focus-visible+span{outline:2px solid var(--flash);outline-offset:2px}.consent{align-items:start;grid-template-columns:auto 1fr!important}.consent input{accent-color:var(--ink)}.consent span{font-size:var(--step--1)}.hp{left:-9999px;position:absolute!important}.brief-error{color:var(--flash);font-size:var(--step--1)}.brief .btn{justify-self:start}.brief-done{max-width:var(--measure);align-content:start;justify-items:start;gap:1rem;display:grid}.brief-done-title{font-family:var(--font-display), serif;font-size:var(--step-2);font-weight:600}.site-foot{padding:2rem var(--gutter);background:var(--ink);color:var(--smoke);font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.75rem;display:flex}.site-foot a{color:var(--bone)}
