@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-400-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-400-italic-brand.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-var-latin.woff2)format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-var-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-var-italic-latin.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}:root,:root[data-theme=dark]{--paper:#14171f;--paper-2:#1b1f29;--paper-3:#232936;--ink:#e9ecf2;--ink-2:#c3c9d4;--muted:#8f97a8;--faint:#6b7280;--line:#e9ecf221;--line-2:#e9ecf252;--edge:#e9ecf26b;--accent:#ff3d81;--accent-ink:#14171f;--accent-soft:#ff3d811a;--cool:#56d1e0;--blue:var(--accent);--blue-ink:var(--accent-ink);--blue-soft:var(--accent-soft);--serif:"Instrument Serif", "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--ease:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-1:.14s;--dur-2:.24s;--dur-3:.36s;color-scheme:dark}:root[data-theme=light]{--paper:#f5f5f2;--paper-2:#ecece8;--paper-3:#e0e0da;--ink:#191d26;--ink-2:#343b47;--muted:#5b6270;--faint:#767d8a;--line:#191d2624;--line-2:#191d2666;--edge:#191d2694;--accent:#c9135f;--accent-ink:#fff;--accent-soft:#c9135f14;--cool:#0e7f8c;--blue:var(--accent);--blue-ink:var(--accent-ink);--blue-soft:var(--accent-soft);color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-synthesis:none}body{background:var(--paper);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}::selection{background:var(--blue);color:var(--blue-ink)}:focus-visible{outline:2px solid var(--cool);outline-offset:3px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img,svg{max-width:100%}h1,h2,h3{margin:0;font-weight:400}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:120;background:var(--blue);color:var(--blue-ink);font:600 11px/1 var(--mono);letter-spacing:.08em;align-items:center;min-height:44px;padding:12px 16px;display:inline-flex;position:absolute;top:-70px;left:12px}.skip-link:focus{top:10px}.icon{fill:none;stroke:currentColor;stroke-width:1.5px;flex:none;width:15px;height:15px}.site{background:var(--paper);isolation:isolate;--util-h:54px;--pad:clamp(20px, 4.6cqw, 64px);width:100%;max-width:1760px;margin:0 auto;position:relative;container-type:inline-size}@keyframes pageIn{0%{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}.page--in{animation:pageIn var(--dur-3) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.seal-ring{animation:none!important}}.util{z-index:60;min-height:54px;padding:0 var(--pad);background:color-mix(in srgb, var(--paper) 92%, transparent);backdrop-filter:blur(14px)saturate(120%);border-bottom:1px solid var(--line-2);align-items:center;gap:clamp(14px,2.4cqw,30px);display:flex;position:sticky;top:0}.util-brand{font-family:var(--serif);letter-spacing:-.02em;white-space:nowrap;align-items:baseline;gap:7px;min-height:44px;padding:8px 0;font-size:26px;line-height:1;display:inline-flex}.util-brand b{color:var(--blue);margin-left:-2px;font-style:italic;font-weight:400}.util-brand span{font:600 8px/1 var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase}.util-nav{align-items:stretch;gap:clamp(8px,2.2cqw,32px);margin-left:auto;display:flex}.util-nav a{min-width:44px;min-height:44px;color:var(--muted);font:600 9px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;transition:color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);border-bottom:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:4px 1px 0;display:inline-flex}.util-nav a i{font:500 8px/1 var(--mono);letter-spacing:.06em;color:var(--faint);font-style:normal;transform:translateY(-1px)}.util-nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}.util-nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.util-nav a:hover i{color:var(--muted)}.util-nav a[aria-current=page] i{color:var(--accent)}.util-tools{align-items:center;gap:8px;margin-left:10px;display:flex}.util-clock{font:500 9px/1 var(--mono);letter-spacing:.06em;color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums}.index-trigger{appearance:none;border:1px solid var(--ink);cursor:pointer;min-width:44px;min-height:44px;font:600 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1);background:0 0;align-items:center;gap:9px;padding:0 11px;display:inline-flex}.index-trigger kbd{font:500 8px/1 var(--mono);letter-spacing:.02em;color:var(--muted);border-left:1px solid var(--line-2);padding-left:8px}.index-trigger:hover{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}.index-trigger:hover kbd{color:var(--blue-ink);border-color:color-mix(in srgb, var(--blue-ink) 35%, transparent)}.theme-btn{appearance:none;border:1px solid var(--edge);cursor:pointer;width:44px;height:44px;transition:border-color var(--dur-1), color var(--dur-1), background var(--dur-1);background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-btn:hover{border-color:var(--ink);background:var(--paper-2)}.theme-btn svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:15px;height:15px}.theme-btn .icon-moon,[data-theme=dark] .theme-btn .icon-sun{display:none}[data-theme=dark] .theme-btn .icon-moon{display:block}.masthead{padding:clamp(18px, 2.6cqw, 32px) var(--pad) clamp(14px, 2.1cqw, 24px);border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.masthead-brand{flex-direction:column;gap:9px;display:flex}.masthead-name{font-family:var(--display);letter-spacing:-.015em;white-space:nowrap;font-size:clamp(34px,4.4cqw,56px);font-weight:300;line-height:.9}.masthead-name b{color:var(--accent);margin-left:2px;font-style:italic;font-weight:300}.masthead-latin{font:500 8px/1 var(--mono);letter-spacing:.24em;color:var(--muted);text-transform:uppercase}.masthead-meta{font:500 8px/1.3 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;text-align:right;gap:clamp(12px,2.6cqw,38px);display:flex}.masthead-meta span{flex-direction:column;gap:6px;display:flex}.masthead-meta b{font:400 22px/1 var(--display);letter-spacing:0;color:var(--ink);text-transform:none}.hero-band{min-height:clamp(430px,70svh,760px);padding:clamp(48px, 7cqw, 96px) var(--pad) clamp(40px, 6cqw, 84px);border-bottom:1px solid var(--line-2);align-items:center;display:flex;position:relative;overflow:hidden}.hero-main{z-index:2;width:100%;min-width:0;max-width:64rem;position:relative}.hero-kicker{font:500 9px/1 var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;align-items:center;gap:14px;margin:0 0 clamp(18px,2.6cqw,32px);display:flex}.hero-kicker b{color:var(--blue);font-weight:600}.hero-kicker:after{content:"";background:var(--line-2);width:clamp(40px,7cqw,110px);height:1px}.hero-band h1{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(54px,10cqw,148px);font-weight:400;line-height:.98}.hero-band h1 span{display:block}.hero-band h1 .accent{color:var(--blue)}.hero-dek{max-width:35ch;color:var(--ink-2);margin:clamp(22px,3cqw,38px) 0 0;font-size:clamp(16px,1.45cqw,20px);line-height:1.78}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:clamp(24px,3.2cqw,40px);display:flex}.btn{appearance:none;border:1px solid var(--edge);min-height:46px;color:var(--ink);font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);background:0 0;justify-content:center;align-items:center;gap:12px;padding:0 18px;display:inline-flex}.btn:hover,.btn:focus-visible{border-color:var(--blue);color:var(--blue)}.btn-primary{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-primary:focus-visible{border-color:var(--blue);color:var(--blue-ink)}.hero-meta{border-top:1px solid var(--line);font:500 8px/1.5 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:10px 24px;margin:clamp(26px,3.2cqw,42px) 0 0;padding-top:14px;display:flex}.hero-meta b{color:var(--ink);font-weight:600}.hero-below{padding:clamp(30px, 4.4cqw, 62px) var(--pad) clamp(36px, 4.8cqw, 66px);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(26px,4cqw,64px);display:grid;position:relative}.hero-below .cover-lines{min-width:0;max-width:46rem}.cover-lines{border-top:2px solid var(--ink)}.cover-head{border-bottom:1px solid var(--line);font:500 8px/1 var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.cover-line{border-bottom:1px solid var(--line);min-height:58px;transition:padding-left var(--dur-2) var(--ease), background var(--dur-2) var(--ease);grid-template-columns:26px minmax(0,1fr) 16px;align-items:start;gap:12px;padding:14px 0;display:grid}.cl-no{font:500 9px/1 var(--mono);letter-spacing:.04em;color:var(--blue);padding-top:4px}.cl-title{font-family:var(--display);letter-spacing:-.005em;color:var(--ink);transition:color var(--dur-1);font-size:clamp(18px,1.65cqw,23px);font-weight:400;line-height:1.3;display:block}.cl-meta{font:500 8px/1 var(--mono);letter-spacing:.08em;color:var(--faint);text-transform:uppercase;margin-top:5px;display:block}.cl-arrow{font:500 12px/1 var(--mono);color:var(--faint);transition:transform var(--dur-2) var(--ease), color var(--dur-1);padding-top:2px}.cover-line:hover,.cover-line:focus-visible{background:var(--blue-soft);padding-left:8px}.cover-line:hover .cl-title,.cover-line:focus-visible .cl-title{color:var(--blue)}.cover-line:hover .cl-arrow,.cover-line:focus-visible .cl-arrow{color:var(--blue);transform:translate(2px,-2px)}.hero-ornament{aspect-ratio:1;place-self:end;width:min(100%,248px);margin-left:auto;margin-right:clamp(0px,2cqw,26px);position:relative}.orb-wrap{position:absolute;inset:-14% -16% -8% -20%}.orb-static{width:100%;height:100%;transition:opacity .6s var(--ease);position:absolute;inset:0}.orb-canvas{opacity:0;width:100%;height:100%;transition:opacity .6s var(--ease);position:absolute;inset:0}.orb-canvas.is-live{opacity:1}.orb-wrap.is-live .orb-static{opacity:0}.orb-dot{fill:var(--accent)}.orb-dot-fill{fill:var(--cool)}.orb-line{fill:none;stroke:var(--cool);stroke-width:1px;stroke-opacity:.36}.section{padding:clamp(42px, 5.8cqw, 82px) var(--pad);border-bottom:1px solid var(--line-2)}.section-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(22px,3.2cqw,40px);display:flex}.sec-kicker{font:500 8px/1 var(--mono);letter-spacing:.18em;color:var(--blue);text-transform:uppercase;margin:0 0 10px}.sec-title{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(32px,4.2cqw,54px);font-weight:400;line-height:1}.sec-title em{color:var(--accent);margin-left:.08em;font-style:italic}.sec-link{min-height:44px;font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ink);white-space:nowrap;align-items:center;gap:8px;padding:0 1px;display:inline-flex}.sec-link:hover{color:var(--blue);border-bottom-color:var(--blue)}.contents{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5cqw,78px);display:grid}.toc-item{border-top:1px solid var(--line);min-height:62px;transition:background var(--dur-2);grid-template-columns:38px minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:17px 0;display:grid}.toc-item:hover{background:var(--blue-soft)}.toc-item:nth-child(odd){border-right:1px solid var(--line);padding-right:14px}.toc-no{font:500 9px/1 var(--mono);color:var(--blue);letter-spacing:.04em}.toc-title{font-family:var(--display);letter-spacing:-.01em;transition:color var(--dur-1);font-size:clamp(19px,1.9cqw,26px);font-weight:400;line-height:1.3}.toc-item:hover .toc-title{color:var(--blue)}.toc-meta{font:500 8px/1.4 var(--mono);color:var(--faint);letter-spacing:.06em;text-align:right;text-transform:uppercase;white-space:nowrap}.facts{border-top:2px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(34px,4.4cqw,58px);display:grid}.fact{border-right:1px solid var(--line);min-width:0;padding:18px 22px 0 0}.fact:last-child{border-right:0}.fact .n{font:300 clamp(32px, 3.8cqw, 52px)/1 var(--display);letter-spacing:-.015em;color:var(--accent);display:block}.fact .l{font:500 8px/1.5 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-top:8px;display:block}.builds{border-top:2px solid var(--ink);flex-direction:column;display:flex}.build-row{border-bottom:1px solid var(--line);min-height:116px;transition:background var(--dur-2);grid-template-columns:46px minmax(0,1fr) 210px 158px 24px;align-items:center;gap:clamp(14px,2.6cqw,34px);padding:clamp(18px,2.4cqw,26px) 0;display:grid}.build-row:hover{background:var(--blue-soft)}.build-no{font:500 9px/1 var(--mono);color:var(--blue)}.build-name{font-family:var(--display);letter-spacing:-.015em;transition:color var(--dur-1);margin:0;font-size:clamp(27px,3.1cqw,42px);font-weight:400;line-height:1.05}.build-row:hover .build-name{color:var(--blue)}.build-sub{font:500 8px/1.5 var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:8px;display:block}.build-stack{font:500 8px/1.7 var(--mono);letter-spacing:.05em;color:var(--muted);text-transform:uppercase}.build-plate,.project-plate{border:1px solid var(--line-2);background:var(--paper-2);transition:transform var(--dur-2) var(--ease);position:relative;overflow:hidden}.build-plate{aspect-ratio:16/10}.build-row:hover .build-plate,.project:hover .project-plate{transform:translateY(-2px)}.build-plate img,.project-plate img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.build-arrow,.project-arrow{font:500 12px/1 var(--mono);color:var(--faint);text-align:right;transition:transform var(--dur-2), color var(--dur-1)}.build-row:hover .build-arrow,.project:hover .project-arrow{color:var(--blue);transform:translate(3px,-3px)}.no-plate .build-plate,.no-plate .project-plate{background:repeating-linear-gradient(135deg, transparent 0 11px, var(--line) 11px 12px), var(--paper-2);box-shadow:inset 0 0 0 1px var(--line-2);justify-content:flex-end;align-items:flex-end;padding:12px;display:flex}.no-plate .build-plate:before,.no-plate .project-plate:before{content:"NO PLATE";font:500 8px/1 var(--mono);letter-spacing:.1em;color:var(--blue);position:absolute;top:10px;left:10px}.no-plate .build-plate:after,.no-plate .project-plate:after{content:"TEXT";font:italic 400 clamp(18px, 1.8cqw, 26px)/.9 var(--serif);letter-spacing:-.03em;color:var(--faint);position:relative}.projects{padding:0 var(--pad) clamp(30px, 4cqw, 56px)}.project{border-bottom:1px solid var(--line);min-height:150px;transition:background var(--dur-2);grid-template-columns:52px minmax(0,1fr) 170px 24px;align-items:center;gap:clamp(16px,3cqw,42px);padding:clamp(22px,3cqw,34px) 0;display:grid}.project:hover{background:var(--blue-soft)}.project-no{font:500 9px/1 var(--mono);color:var(--blue)}.project-main{min-width:0}.project-title{font-family:var(--display);letter-spacing:-.02em;transition:color var(--dur-1);margin:0;font-size:clamp(32px,3.8cqw,52px);font-weight:400;line-height:1.05}.project:hover .project-title{color:var(--blue)}.project-sum{max-width:52ch;color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.7}.project-meta{font:500 8px/1.6 var(--mono);letter-spacing:.06em;color:var(--faint);text-transform:uppercase;margin-top:12px}.project-plate{aspect-ratio:4/3}.page-head{padding:clamp(34px, 5.2cqw, 74px) var(--pad) clamp(24px, 3.2cqw, 40px);border-bottom:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;display:grid}.page-kicker{font:500 8px/1 var(--mono);letter-spacing:.18em;color:var(--blue);text-transform:uppercase;margin:0}.page-head h1{font-family:var(--display);letter-spacing:-.03em;margin:10px 0 0;font-size:clamp(54px,7.8cqw,106px);font-weight:300;line-height:.95}.page-head h1 em{color:var(--accent);margin-left:.06em;font-style:italic}.page-dek{max-width:56ch;color:var(--ink-2);margin:18px 0 0;font-size:15px;line-height:1.8}.page-side{text-align:right;font:500 8px/1.9 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;white-space:nowrap}.page-side b{color:var(--ink);font-weight:600}.filters{top:var(--util-h);z-index:45;padding:4px var(--pad);background:var(--paper);border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:2px 20px;display:flex;position:sticky}.filter{min-width:44px;min-height:44px;font:500 9px/1 var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase;transition:color var(--dur-1), border-color var(--dur-1);background:0 0;border:0;border-bottom:1px solid #0000;justify-content:center;align-items:center;gap:4px;padding:0;display:inline-flex}.filter b{color:var(--blue);margin-left:4px;font-weight:600}.filter:hover{color:var(--ink);border-bottom-color:var(--ink)}.filter[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.filter-state{font:500 8px/1 var(--mono);letter-spacing:.08em;color:var(--faint);text-transform:uppercase;margin-left:auto}.entries{padding:0 var(--pad) clamp(30px, 4cqw, 54px)}.entries-head{border-bottom:2px solid var(--ink);font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;grid-template-columns:52px 104px minmax(0,1fr) 116px 48px;gap:18px;padding:12px 0;display:grid}.entry{border-bottom:1px solid var(--line);min-height:76px;transition:background var(--dur-2), padding var(--dur-2) var(--ease);grid-template-columns:52px 104px minmax(0,1fr) 116px 48px;align-items:baseline;gap:18px;padding:19px 0;display:grid}.entry-no{font:500 9px/1.4 var(--mono);color:var(--blue)}.entry-date{font:500 8px/1.4 var(--mono);color:var(--muted);letter-spacing:.04em}.entry-main{min-width:0}.entry-title{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);transition:color var(--dur-1);font-size:clamp(21px,2.2cqw,30px);font-weight:400;line-height:1.24;display:block}.entry-sum{color:var(--muted);max-width:62ch;margin-top:6px;font-size:12px;line-height:1.65;display:block}.entry-cat{font:500 8px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.entry-arrow{font:500 11px/1 var(--mono);color:var(--faint);text-align:right;transition:transform var(--dur-2), color var(--dur-1)}.entry:hover,.entry:focus-within{background:var(--blue-soft);padding-left:10px;padding-right:10px}.entry:hover .entry-title,.entry:focus-within .entry-title{color:var(--blue)}.entry:hover .entry-arrow,.entry:focus-within .entry-arrow{color:var(--blue);transform:translate(2px,-2px)}.empty-state{text-align:center;border-bottom:1px solid var(--line);padding:54px 0}.empty-state strong{font-family:var(--display);font-size:32px;font-weight:300;display:block}.empty-state p{color:var(--muted);margin:8px 0 0;font-size:13px}.pager{margin:0 var(--pad);border-top:2px solid var(--ink);font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);align-items:center;gap:10px;padding:14px 0 0;display:flex}.pager .page-link{min-width:44px;min-height:44px;font:500 9px/1 var(--mono);letter-spacing:.08em;color:var(--muted);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.pager .page-link:hover{color:var(--blue)}.pager .page-link[aria-current=page]{font-family:var(--display);letter-spacing:0;color:var(--ink);font-size:22px;font-weight:400}.pager .page-link.is-disabled{opacity:.55}.pager .pagination-note{font:500 8px/1.6 var(--mono);color:var(--faint);margin:0 0 0 auto}.readbar{top:var(--util-h);z-index:50;background:var(--line);pointer-events:none;height:2px;position:sticky}.readbar i{background:var(--blue);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.article-head{padding:clamp(30px, 4.4cqw, 62px) var(--pad) clamp(22px, 3cqw, 34px);border-bottom:1px solid var(--line-2)}.crumb{font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 clamp(18px,2.4cqw,30px);display:flex}.crumb b{color:var(--blue);text-transform:none;font-weight:600}.crumb a{min-height:44px;color:inherit;border-bottom:1px solid var(--line-2);align-items:center;padding:0 6px;display:inline-flex}.crumb a:hover{color:var(--blue);border-bottom-color:var(--blue)}.crumb span{color:var(--faint)}.page>.crumb{padding:clamp(18px, 2.4cqw, 30px) var(--pad) 0}.article-head h1{max-width:17ch;font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(42px,6.2cqw,84px);font-weight:400;line-height:1.06}.article-dek{max-width:52ch;color:var(--ink-2);margin:clamp(16px,2.4cqw,28px) 0 0;font-size:17px;line-height:1.78}.article-meta{border-top:1px solid var(--line);font:500 8px/1.5 var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:10px 22px;margin:clamp(22px,3cqw,34px) 0 0;padding-top:13px;display:flex}.article-meta b{color:var(--ink);font-weight:600}.mobile-toc{margin:0 var(--pad);border-bottom:1px solid var(--line);padding:12px 0;display:none}.mobile-toc summary{cursor:pointer;min-height:44px;font:600 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);align-items:center;gap:12px;list-style:none;display:flex}.mobile-toc summary::-webkit-details-marker{display:none}.mobile-toc summary:after{content:"+";font:400 16px/1 var(--mono);color:var(--blue);margin-left:auto}.mobile-toc[open] summary:after{content:"−"}.mobile-toc ol{border-top:1px solid var(--line);margin:6px 0 8px;padding:0;list-style:none}.mobile-toc a{border-bottom:1px solid var(--line);min-height:44px;color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.mobile-toc a span{font:500 8px/1 var(--mono);color:var(--blue)}.article-wrap{padding:clamp(28px, 4.2cqw, 56px) var(--pad) clamp(40px, 5cqw, 74px);grid-template-columns:190px minmax(0,45rem);justify-content:center;align-items:start;gap:clamp(26px,4cqw,60px);display:grid}.folio-rail{top:calc(var(--util-h) + 24px);min-width:0;position:sticky}.rail-kicker{font:500 8px/1 var(--mono);letter-spacing:.16em;color:var(--blue);text-transform:uppercase;margin:0 0 12px}.rail-title{font-family:var(--display);letter-spacing:-.01em;margin:0 0 14px;font-size:22px;font-weight:500;line-height:1.1}.folio-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.folio-list a{border-bottom:1px solid var(--line);min-height:44px;color:var(--muted);transition:color var(--dur-1), padding var(--dur-2);grid-template-columns:26px minmax(0,1fr);align-items:start;gap:9px;padding:10px 0;font-size:11px;line-height:1.45;display:grid}.folio-list a span{font:500 8px/1.5 var(--mono);color:var(--faint);letter-spacing:.04em}.folio-list a:hover{color:var(--ink);padding-left:4px}.folio-list a[aria-current]{color:var(--ink)}.folio-list a[aria-current] span{color:var(--blue)}.folio-list a.depth-3{padding-left:26px}.article-wrap.single{grid-template-columns:minmax(0,45rem)}.prose{min-width:0;color:var(--ink-2);font-size:17px;line-height:1.8}.prose>p{margin:0 0 1.25em}.article-wrap .prose>p:first-of-type:first-letter{float:left;font-family:var(--serif);color:var(--blue);padding:6px 10px 0 0;font-size:4.1em;line-height:.78}.article-wrap .prose h2 .secno{font:500 8px/1 var(--mono);letter-spacing:.14em;color:var(--blue);margin-bottom:8px;display:block}.prose h2{scroll-margin-top:calc(var(--util-h) + 28px);font-family:var(--display);letter-spacing:-.015em;color:var(--ink);margin:2.4em 0 .8em;font-size:clamp(28px,3cqw,38px);font-weight:500;line-height:1.16}.prose h3{scroll-margin-top:calc(var(--util-h) + 28px);font-family:var(--display);letter-spacing:-.01em;color:var(--ink);margin:2em 0 .6em;font-size:clamp(22px,2.2cqw,28px);font-weight:500;line-height:1.24}.prose ul,.prose ol{border-top:1px solid var(--line);margin:0 0 1.3em;padding:0;list-style:none}.prose ol{counter-reset:ol}.prose li{border-bottom:1px solid var(--line);padding:11px 0 11px 22px;font-size:17px;line-height:1.75;position:relative}.prose ul>li:before{content:"";background:var(--blue);width:10px;height:1px;position:absolute;top:22px;left:2px}.prose ol>li{counter-increment:ol}.prose ol>li:before{content:counter(ol, decimal-leading-zero);font:500 8px/1.5 var(--mono);color:var(--blue);position:absolute;top:15px;left:0}.prose li::marker{content:""}.prose a{color:var(--ink);border-bottom:1px solid var(--line-2);transition:color var(--dur-1), border-color var(--dur-1)}.prose a:hover{color:var(--blue);border-bottom-color:var(--blue)}.prose strong{color:var(--ink);font-weight:600}.prose blockquote{border-left:3px solid var(--blue);font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:2.2em 0;padding:4px 0 4px clamp(18px,2.6cqw,30px);font-size:clamp(24px,2.7cqw,34px);line-height:1.35}.prose blockquote p{margin:0 0 .4em}.prose blockquote footer,.prose blockquote p:last-child{font:500 8px/1 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-family:var(--mono);font-size:8px}.prose hr{border:0;border-top:2px solid var(--ink);margin:2.4em 0}.prose :not(pre)>code{font:500 .84em/1.4 var(--mono);background:var(--paper-3);color:var(--ink);padding:2px 5px}.prose table{border-collapse:collapse;width:100%;margin:1.8em 0;font-size:13px}.prose th{border-bottom:2px solid var(--ink);text-align:left;font:500 8px/1.5 var(--mono);letter-spacing:.1em;color:var(--faint);text-transform:uppercase;padding:9px 8px 9px 0}.prose td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 8px 11px 0;font-size:14px;line-height:1.6}.prose img{margin:0;display:block}.image-link{border:1px solid var(--line-2);margin:1.8em 0;line-height:0;display:block}.image-link:hover{border-color:var(--blue)}.code-block{background:var(--paper-3);color:var(--ink);border:1px solid var(--line-2);margin:1.8em 0;position:relative}.code-tools{border-bottom:1px solid color-mix(in srgb, var(--ink) 18%, transparent);font:500 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 62%, transparent);justify-content:flex-end;align-items:center;gap:12px;padding:10px 14px;display:flex}.code-lang{margin-right:auto}.copy-code{appearance:none;border:1px solid color-mix(in srgb, var(--ink) 28%, transparent);color:color-mix(in srgb, var(--ink) 80%, transparent);min-width:44px;min-height:44px;font:500 8px/1 var(--mono);letter-spacing:.08em;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.copy-code:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.code-block pre{tab-size:2;max-width:100%;margin:0;padding:16px 14px 18px;overflow-x:auto}.code-block pre,.code-block code{font:12.5px/1.75 var(--mono);background:0 0}.article-cover{border:1px solid var(--line-2);margin:clamp(20px,3cqw,34px) 0 0}.article-tags-block{border-top:2px solid var(--ink);margin-top:3em;padding-top:20px}.article-tags-label{font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;margin:0 0 10px}.article-tags{border:0;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.article-tags li,.tag{border:1px solid var(--line-2);min-height:30px;font:500 8px/1 var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase;align-items:center;padding:0 9px;display:inline-flex}.article-adjacent{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin:0 var(--pad) 0;grid-template-columns:1fr 1fr;display:grid}.article-adjacent .adjacent-link{min-height:96px;transition:background var(--dur-2);flex-direction:column;justify-content:space-between;gap:10px;padding:16px 18px;display:flex}.article-adjacent .adjacent-link:first-child{border-right:1px solid var(--line)}a.adjacent-link:hover{background:var(--blue-soft)}.adjacent-label{font:500 8px/1 var(--mono);letter-spacing:.1em;color:var(--faint);text-transform:uppercase}.adjacent-title{font-family:var(--display);letter-spacing:-.005em;font-size:20px;font-weight:400;line-height:1.26}a.adjacent-link:hover .adjacent-title{color:var(--blue)}.related{margin:clamp(30px, 4cqw, 54px) var(--pad) clamp(36px, 5cqw, 64px)}.related-title{font:500 8px/1 var(--mono);letter-spacing:.14em;color:var(--blue);text-transform:uppercase;font-family:var(--mono);margin:0 0 12px;font-size:8px}.related-list{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none}.related-list a{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px;min-height:52px;padding:12px 0;display:grid}.related-list span{font-family:var(--display);font-size:19px;font-weight:400;line-height:1.3}.related-list time{font:500 8px/1.4 var(--mono);color:var(--faint);letter-spacing:.06em}.related-list a:hover span{color:var(--blue)}.case-head{padding:clamp(32px, 4.8cqw, 66px) var(--pad) clamp(22px, 3cqw, 34px)}.case-head h1{max-width:18ch;font-family:var(--display);letter-spacing:-.025em;margin:10px 0 0;font-size:clamp(48px,7.4cqw,102px);font-weight:300;line-height:.98}.case-head h1 em{color:var(--accent);font-style:italic}.case-dek{max-width:54ch;color:var(--ink-2);margin:16px 0 0;font-size:16px;line-height:1.78}.case-meta{border-top:2px solid var(--ink);border-bottom:1px solid var(--line-2);margin:clamp(22px, 3cqw, 38px) var(--pad) 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.case-meta>div{border-right:1px solid var(--line);min-width:0;padding:14px 16px 16px 0}.case-meta>div:last-child{border-right:0}.case-meta dt{font:500 8px/1 var(--mono);letter-spacing:.1em;color:var(--blue);text-transform:uppercase;margin:0 0 7px}.case-meta dd{font-family:var(--serif);margin:0;font-size:18px;line-height:1.25}.case-cover{margin:clamp(22px, 3cqw, 38px) var(--pad) 0}.case-cover .plate{aspect-ratio:21/9;border:1px solid var(--line-2);box-shadow:inset 0 0 0 1px var(--accent-soft);background:var(--paper-2);position:relative;overflow:hidden}.case-cover .plate img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.no-plate .case-cover .plate{aspect-ratio:auto;background:repeating-linear-gradient(135deg, transparent 0 13px, var(--line) 13px 14px), var(--paper-2);min-height:clamp(170px,20cqw,260px);box-shadow:inset 0 0 0 1px var(--line-2);justify-content:flex-end;align-items:flex-end;padding:clamp(18px,3cqw,34px);display:flex}.no-plate .case-cover .plate:before{content:"NO COVER / TEXT-ONLY CASE FILE";font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--blue);text-transform:uppercase;position:absolute;top:clamp(18px,3cqw,34px);left:clamp(18px,3cqw,34px)}.no-plate .case-cover .plate:after{content:"TEXT\a ONLY";white-space:pre;font:italic 400 clamp(34px, 5cqw, 72px)/.84 var(--serif);letter-spacing:-.03em;color:var(--faint);position:relative}.case-body{padding:clamp(30px, 4.4cqw, 58px) var(--pad) clamp(40px, 5cqw, 76px);grid-template-columns:minmax(0,1fr) 286px;align-items:start;gap:clamp(28px,4.4cqw,68px);display:grid}.case-prose{min-width:0;max-width:45rem}.case-facts{top:calc(var(--util-h) + 24px);border-top:2px solid var(--ink);padding-top:12px;position:sticky}.case-facts h2{font:500 8px/1 var(--mono);letter-spacing:.14em;color:var(--ink);text-transform:uppercase;margin:0 0 12px;font-size:8px}.fact-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;margin:0;padding:10px 0;font-size:11px;line-height:1.5;display:flex}.fact-row dt{color:var(--faint);font:500 8px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase}.fact-row dd{color:var(--ink);text-align:right;margin:0}.fact-row dd ul{margin:0;padding:0;list-style:none}.project-gallery{margin:2em 0 0}.project-gallery-title{font:500 8px/1 var(--mono);letter-spacing:.14em;color:var(--blue);text-transform:uppercase;margin:0 0 12px;font-size:8px}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-gallery-grid figure{border:1px solid var(--line-2);margin:0}.case-next{margin:0 var(--pad) clamp(40px, 5cqw, 70px);border-top:2px solid var(--ink);border-bottom:1px solid var(--line);min-height:90px;transition:background var(--dur-2);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.case-next .k{font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase}.case-next .t{font-family:var(--display);margin-top:8px;font-size:clamp(24px,3cqw,36px);font-weight:400;line-height:1.14;display:block}.case-next:hover{background:var(--blue-soft)}.case-next:hover .t{color:var(--blue)}.about-hero{padding:clamp(34px, 5.2cqw, 74px) var(--pad) clamp(30px, 4.4cqw, 58px);border-bottom:1px solid var(--line-2);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(26px,4cqw,64px);display:grid}.about-name{font-family:var(--display);letter-spacing:-.04em;margin:8px 0 0;font-size:clamp(86px,15.2cqw,216px);font-weight:300;line-height:.86}.about-name i{color:var(--accent);font-style:italic}.about-intro{min-width:0;max-width:48ch;color:var(--ink-2);font-size:17px;line-height:1.8}.about-intro p{margin:0 0 1em}.about-grid{padding:clamp(34px, 4.8cqw, 66px) var(--pad);border-bottom:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5cqw,80px);display:grid}.about-section h2{font-family:var(--display);letter-spacing:-.015em;margin:0 0 16px;font-size:clamp(28px,3.2cqw,40px);font-weight:400;line-height:1.05}.about-section h2 em{color:var(--accent);margin-left:.08em;font-style:italic}.skill-group{border-top:1px solid var(--line-2);padding:13px 0 14px}.skill-group:last-child{border-bottom:1px solid var(--line-2)}.skill-group h3{font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;margin:0 0 8px;font-size:8px}.skill-row{justify-content:space-between;gap:16px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.skill-row span:last-child{font:500 8px/1.6 var(--mono);letter-spacing:.06em;color:var(--muted)}.editions{border-collapse:collapse;width:100%}.editions th{border-bottom:2px solid var(--ink);text-align:left;font:500 8px/1 var(--mono);letter-spacing:.1em;color:var(--faint);text-transform:uppercase;padding:9px 0}.editions td{border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted);padding:12px 8px 12px 0;font-size:12px;line-height:1.5}.editions td:first-child{font-family:var(--serif);white-space:nowrap;color:var(--ink);font-size:18px}.editions td:last-child{font:500 8px/1.5 var(--mono);color:var(--muted);text-transform:uppercase;white-space:nowrap;text-align:right}.editions .edition-tech{font:500 8px/1.6 var(--mono);letter-spacing:.06em;color:var(--faint);text-transform:uppercase;margin-top:4px;display:block}.colophon{padding:clamp(28px, 4cqw, 48px) var(--pad);border-bottom:1px solid var(--line-2);grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.colophon div{border-top:1px solid var(--line-2);color:var(--muted);padding-top:10px;font-size:11px;line-height:1.65}.colophon h3{font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--ink);text-transform:uppercase;margin:0 0 8px;font-size:8px}.contact-chips{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.contact-chips a,.contact-chips button{border:1px solid var(--edge);min-height:44px;font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;padding:0 14px;display:inline-flex}.contact-chips a:hover,.contact-chips button:hover{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}.e404{min-height:calc(100vh - var(--util-h));padding:clamp(44px, 7cqw, 100px) var(--pad);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.e404>:not(.meteor-field){z-index:1;position:relative}.e404-kicker{font:500 8px/1 var(--mono);letter-spacing:.18em;color:var(--blue);text-transform:uppercase;margin:0 0 10px}.e404 h1{font-family:var(--display);letter-spacing:-.04em;color:var(--ink);align-items:baseline;margin:0;font-size:clamp(118px,25cqw,348px);font-weight:200;line-height:.82;display:flex}.e404 h1 span:nth-child(2){color:var(--accent);font-weight:300}.e404-copy{max-width:44ch;color:var(--ink-2);margin:clamp(22px,3cqw,36px) 0 0;font-size:16px;line-height:1.8}.e404-actions{flex-wrap:wrap;gap:12px 22px;margin-top:clamp(24px,3.4cqw,40px);display:flex}.e404-index{border-top:1px solid var(--line-2);max-width:620px;margin-top:clamp(36px,5cqw,66px)}.e404-index h2{font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;border-bottom:1px solid var(--line);margin:0;padding:10px 0;font-size:8px}.e404-index a{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:12px;min-height:48px;font-size:13px;display:grid}.e404-index a span{font:500 8px/1 var(--mono);color:var(--blue)}.e404-index a em{color:var(--faint);text-align:right;font-size:11px;font-style:normal}.e404-index a:hover{color:var(--blue)}.search-dialog{z-index:200;border:0;border-top:1px solid var(--line-2);background:var(--paper);width:100%;max-width:100%;height:100dvh;max-height:100%;color:var(--ink);margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.search-dialog::backdrop{background:#05070b9e}.search-dialog[open]{flex-direction:column;display:flex}.search-form{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:16px;padding:10px clamp(18px,3.6cqw,46px);display:flex}.search-form .icon{color:var(--faint);flex:none}.search-input{min-width:0;min-height:44px;color:var(--ink);font:300 clamp(18px, 2.1cqw, 26px)/1.2 var(--display);background:0 0;border:0;outline:none;flex:1}.search-input::placeholder{color:var(--faint)}.search-kbd-hint{font:500 8px/1 var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;white-space:nowrap}.search-close{appearance:none;border:1px solid var(--ink);cursor:pointer;min-height:44px;font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:0 0;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.search-close:hover{background:var(--ink);color:var(--paper)}.search-body{flex-direction:column;flex:1;min-height:0;display:flex}.search-status{font:500 8px/1.6 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--line);flex:none;margin:0;padding:8px clamp(18px,3.6cqw,46px)}.search-results-wrap{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 clamp(24px,4cqw,58px);padding:clamp(14px,2.6cqw,26px) clamp(18px,3.6cqw,46px);display:grid;overflow-y:auto}.search-group-title{border-bottom:1px solid var(--line-2);font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;grid-column:1/-1;margin:0 0 4px;padding:8px 0}.search-results{grid-column:1/-1;margin:0;padding:0;list-style:none;display:contents}.search-result{min-width:0}.search-result a{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 0;display:grid}.search-result a:hover{background:var(--blue);color:var(--blue-ink)}.search-result-type{font:500 8px/1 var(--mono);color:var(--blue)}.search-result-title{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:17px;font-weight:400;line-height:1.24;overflow:hidden}.search-result-meta{font:500 8px/1 var(--mono);letter-spacing:.04em;color:var(--faint);text-transform:uppercase;white-space:nowrap}.search-result a:hover .search-result-type,.search-result a:hover .search-result-meta{color:var(--blue-ink);opacity:.78}.search-result mark{color:inherit;background:0 0;font-weight:700}.search-empty{color:var(--muted);grid-column:1/-1;padding:36px 0;font-size:13px;line-height:1.8}.search-empty strong{font-family:var(--display);color:var(--ink);margin-bottom:6px;font-size:28px;font-weight:300;display:block}.search-foot{border-top:1px solid var(--line-2);font:500 8px/1.5 var(--mono);letter-spacing:.04em;color:var(--faint);text-transform:uppercase;flex-wrap:wrap;flex:none;gap:8px 20px;padding:10px clamp(18px,3.6cqw,46px);display:flex}.search-foot b{color:var(--ink);font-weight:600}.search-excerpt{display:none}.site-foot{padding:clamp(36px, 5cqw, 64px) var(--pad) 24px;background:var(--paper-2)}.foot-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:clamp(26px,4cqw,60px);display:grid}.foot-mark{font-family:var(--display);letter-spacing:-.035em;white-space:nowrap;font-size:clamp(70px,12.6cqw,176px);font-weight:300;line-height:.78;overflow:hidden}.foot-mark b{color:var(--accent);font-style:italic;font-weight:300}.foot-cols{grid-template-columns:repeat(3,auto);gap:clamp(22px,4cqw,62px);display:grid}.foot-col h3{font:500 8px/1 var(--mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;margin:0 0 10px;font-size:8px}.foot-col a{min-height:44px;color:var(--muted);align-items:center;font-size:12px;display:flex}.foot-col a:hover{color:var(--blue)}.foot-col p{min-height:34px;color:var(--muted);align-items:center;margin:0;font-size:12px;display:flex}.foot-bottom{border-top:1px solid var(--line);font:500 8px/1.6 var(--mono);letter-spacing:.05em;color:var(--faint);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:clamp(24px,4cqw,46px);padding-top:13px;display:flex}.foot-bottom b{color:var(--ink);font-weight:600}.foot-bottom a{color:var(--muted)}.foot-bottom a:hover{color:var(--blue)}@container (width<=1199px){.hero-below{gap:34px}.hero-ornament{width:min(100%,210px)}.article-wrap{grid-template-columns:170px minmax(0,1fr);gap:36px}.build-row{grid-template-columns:44px minmax(0,1fr) 170px 130px 22px;gap:20px}.case-body{grid-template-columns:minmax(0,1fr) 250px;gap:36px}}@container (width<=1023px){.site{--util-h:54px}.hero-band{min-height:clamp(380px,62svh,640px)}.hero-band h1{font-size:clamp(50px,9.6cqw,104px)}.hero-below{grid-template-columns:1.25fr .75fr;align-items:end;gap:30px}.hero-ornament{width:180px;margin-right:0}.contents{grid-template-columns:1fr}.toc-item:nth-child(odd){border-right:0;padding-right:0}.article-wrap{grid-template-columns:minmax(0,45rem)}.folio-rail{display:none}.mobile-toc{display:block}.build-row{grid-template-columns:40px minmax(0,1fr) 140px 20px;gap:18px}.build-stack{display:none}.about-hero{grid-template-columns:1fr;gap:24px}.about-grid{grid-template-columns:1fr;gap:34px}.case-body{grid-template-columns:1fr;gap:26px}.case-facts{order:-1;position:static}.case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.case-meta>div:nth-child(2){border-right:0}.case-meta>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.page-head{grid-template-columns:1fr;gap:12px}.page-side{text-align:left;white-space:normal}.colophon{grid-template-columns:repeat(2,minmax(0,1fr))}.entries-head,.entry{grid-template-columns:44px 94px minmax(0,1fr) 96px 34px;gap:14px}.project{grid-template-columns:44px minmax(0,1fr) 140px 20px;gap:18px}.search-results-wrap{grid-template-columns:1fr}}@container (width<=819px){.site{--pad:clamp(18px, 4.8cqw, 36px)}.masthead{flex-direction:column;align-items:flex-start;gap:16px}.masthead-meta{text-align:left;flex-wrap:wrap;gap:14px 26px}.hero-below{grid-template-columns:1fr}.hero-ornament{display:none}.cover-line{padding:13px 0}.facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.fact:nth-child(2){border-right:0}.entries-head{display:none}.entry{grid-template-columns:38px minmax(0,1fr) 20px;grid-template-areas:"no date arrow""main main main";align-items:start;gap:6px 12px;padding:16px 0}.entry-no{grid-area:no}.entry-date{grid-area:date;font-size:8px}.entry-main{grid-area:main}.entry-cat{display:none}.entry-arrow{grid-area:arrow;padding-top:3px}.entry-title{font-size:20px}.entry-sum{font-size:11.5px}.entry:hover,.entry:focus-within{padding-left:0;padding-right:0}.build-row{grid-template-columns:34px minmax(0,1fr) 20px;grid-template-areas:"no main arrow""plate plate plate";gap:12px 14px;padding:22px 0}.build-no{grid-area:no}.build-main{grid-area:main}.build-name{font-size:32px}.build-stack{display:block}.build-plate{aspect-ratio:16/9;grid-area:plate;width:100%;margin-top:4px}.build-arrow{grid-area:arrow}.project{grid-template-columns:34px minmax(0,1fr) 20px;grid-template-areas:"no main arrow""plate plate plate";gap:12px 14px;padding:22px 0}.project-no{grid-area:no}.project-main{grid-area:main}.project-title{font-size:34px}.project-plate{aspect-ratio:16/9;grid-area:plate;width:100%;margin-top:4px}.project-arrow{grid-area:arrow}.article-head h1{font-size:clamp(36px,7cqw,54px)}.article-dek{font-size:17px}.article-wrap{padding-top:22px}.prose{font-size:17px}.article-adjacent{grid-template-columns:1fr}.article-adjacent .adjacent-link:first-child{border-right:0;border-bottom:1px solid var(--line)}.case-cover .plate{aspect-ratio:16/9}.case-head h1{font-size:clamp(42px,8.4cqw,70px)}.e404{min-height:70vh}.foot-top{grid-template-columns:1fr}.foot-cols{grid-template-columns:repeat(3,1fr);width:100%}.colophon{grid-template-columns:1fr 1fr}.project-gallery-grid{grid-template-columns:1fr}}@container (width<=619px){.site{--pad:18px;--util-h:96px}.util{padding:5px var(--pad) 0;flex-wrap:wrap;gap:0 10px;min-height:96px}.util-brand{font-size:22px}.util-nav{border-top:1px solid var(--line);order:3;justify-content:space-between;gap:0;width:100%;margin-left:0}.util-nav a{min-height:44px;padding-top:0;font-size:12px}.util-nav a i{display:none}.util-tools{gap:6px;margin-left:auto}.util-clock{display:none}.index-trigger{gap:6px;min-height:44px;padding:0 9px}.index-trigger kbd{display:none}.theme-btn{width:44px;height:44px}.masthead{padding-top:20px}.masthead-name{font-size:38px}.masthead-meta b{font-size:20px}.hero-band{min-height:58svh;padding-top:44px;padding-bottom:44px}.hero-band h1{font-size:clamp(44px,13cqw,64px)}.hero-dek{max-width:none;font-size:16px}.hero-actions{gap:10px}.btn{padding:0 14px}.cover-head{font-size:7.5px}.cl-title{font-size:18px}.toc-meta{display:none}.section-head{flex-direction:column;align-items:flex-start;gap:12px}.builds{border-top-width:1px}.build-name,.project-title{font-size:29px}.project-sum{font-size:11.5px}.fact{padding-right:14px}.fact .n{font-size:34px}.page-head h1{font-size:52px}.page-dek{font-size:14px}.filters{gap:0 16px;padding-top:2px}.filter{font-size:8px}.filter-state{display:none}.article-head h1{font-size:38px}.article-meta{gap:8px 14px}.prose{font-size:17px;line-height:1.8}.prose h2{font-size:28px}.prose blockquote{font-size:24px}.article-adjacent .t,.adjacent-title{font-size:18px}.case-meta>div{padding-right:10px}.case-meta dd{font-size:16px}.case-head h1{font-size:40px}.case-next{flex-direction:column;align-items:flex-start;gap:6px}.about-name{font-size:clamp(84px,28cqw,120px)}.about-intro{font-size:17px}.editions td:nth-child(2){display:none}.colophon{grid-template-columns:1fr}.e404 h1{font-size:clamp(112px,36cqw,160px)}.e404-copy{font-size:15px}.search-form{padding-top:6px;padding-bottom:6px}.search-input{font-size:17px}.search-kbd-hint,.search-result-meta,.search-foot span:nth-child(4){display:none}.foot-cols{grid-template-columns:1fr 1fr;gap:18px}.foot-mark{font-size:clamp(64px,20cqw,100px)}.foot-bottom{flex-direction:column}.pager{gap:12px;padding-bottom:6px}.pager .pagination-note{display:none}}
