:root,[data-tone=warm]{--paper: #F5F1EA;--paper-2: #EBE5D9;--ink: #1A1614;--ink-2: #5C544D;--ink-3: #8A8278;--rule: rgba(26, 22, 20, .12);--accent: oklch(.58 .13 35);--tile: #ECE4D4;--shadow: 0 1px 0 rgba(0, 0, 0, .04);--font-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;--font-body: "Geist", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.01em;--display-italic-style: italic}[data-pair=instrument-geist]{--font-display: "Instrument Serif", Georgia, serif;--font-body: "Geist", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.01em}[data-pair=dmserif-dmsans]{--font-display: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.015em}[data-pair=playfair-worksans]{--font-display: "Playfair Display", Georgia, serif;--font-body: "Work Sans", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.02em}[data-pair=newsreader-manrope]{--font-display: "Newsreader", Georgia, serif;--font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.012em}[data-pair=ptserif-mono]{--font-display: "PT Serif", Georgia, serif;--font-body: "IBM Plex Mono", ui-monospace, monospace;--display-tracking: -.005em}[data-pair=allsans]{--font-display: "Manrope", ui-sans-serif, system-ui, sans-serif;--font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.025em}[data-pair=allserif]{--font-display: "Newsreader", Georgia, serif;--font-body: "Newsreader", Georgia, serif;--display-tracking: -.012em}[data-pair=bitter-worksans]{--font-display: "Bitter", Georgia, serif;--font-body: "Work Sans", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.005em}[data-pair=robotoslab-dmsans]{--font-display: "Roboto Slab", Georgia, serif;--font-body: "DM Sans", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.012em}[data-pair=zillaslab-manrope]{--font-display: "Zilla Slab", Georgia, serif;--font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.005em}[data-pair=vollkorn-geist]{--font-display: "Vollkorn", Georgia, serif;--font-body: "Geist", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.008em}[data-pair=arvo-worksans]{--font-display: "Arvo", Georgia, serif;--font-body: "Work Sans", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.005em}[data-pair=ptserif-geist]{--font-display: "PT Serif", Georgia, serif;--font-body: "Geist", ui-sans-serif, system-ui, sans-serif;--display-tracking: -.005em}[data-theme=dark][data-tone=warm],[data-theme=dark]:not([data-tone]){--paper: #15110E;--paper-2: #1E1915;--ink: #EFE9DD;--ink-2: #B0A89B;--ink-3: #7A7269;--rule: rgba(239, 233, 221, .14);--accent: oklch(.72 .12 38);--tile: #221C17;--shadow: 0 1px 0 rgba(255, 255, 255, .04)}[data-tone=neutral]{--paper: #FAFAF8;--paper-2: #F0F0EE;--ink: #1F1F1E;--ink-2: #5A5A58;--ink-3: #8E8E8C;--rule: rgba(31, 31, 30, .12);--accent: oklch(.32 .005 270);--tile: #ECECEA;--shadow: 0 1px 0 rgba(0, 0, 0, .04)}[data-theme=dark][data-tone=neutral]{--paper: #141414;--paper-2: #1C1C1C;--ink: #F2F2F0;--ink-2: #ADADAB;--ink-3: #757573;--rule: rgba(242, 242, 240, .14);--accent: oklch(.85 .005 270);--tile: #222222;--shadow: 0 1px 0 rgba(255, 255, 255, .04)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease;cursor:none}.serif{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}.hand{font-family:Caveat,Bradley Hand,cursive;font-weight:500}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}.shell{max-width:1440px;margin:0 auto;padding:28px 48px 96px}@media (max-width: 720px){.shell{padding:20px 20px 64px}}.nav{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:24px;margin-bottom:56px;border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:14px;font-family:var(--font-display);font-size:28px;line-height:1;letter-spacing:-.01em}.brand-logo{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-family:var(--font-display);font-size:20px;font-style:italic;letter-spacing:-.02em;flex-shrink:0;position:relative;overflow:hidden;transition:background .2s,color .2s}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-text>span:first-child{line-height:1}.brand small{display:block;font-family:var(--font-body);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:6px;font-weight:400}.nav-links{display:flex;gap:32px;align-items:center;font-size:14px}.nav-links a{position:relative;padding:4px 0;color:var(--ink-2);transition:color .15s}.nav-links a.active{color:var(--ink)}.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}.theme-tog{margin-left:8px;width:32px;height:32px;border:1px solid var(--rule);background:transparent;border-radius:999px;display:grid;place-items:center;color:var(--ink-2)}.page-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:56px}@media (max-width: 720px){.page-intro{grid-template-columns:1fr;gap:24px}}.page-title{font-family:var(--font-display);font-size:clamp(48px,7vw,88px);line-height:.95;letter-spacing:-.02em;margin:0}.page-title em{font-style:italic;color:var(--accent)}.page-meta{color:var(--ink-2);font-size:14px;max-width:42ch}.meta-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:32px;padding-top:16px;font-size:12px;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase}.meta-row .count{font-variant-numeric:tabular-nums}.grid{display:grid;grid-template-columns:repeat(var(--cols, 3),1fr);gap:64px 48px}@media (max-width: 900px){.grid{grid-template-columns:repeat(2,1fr)!important;gap:40px 24px}}@media (max-width: 540px){.grid{grid-template-columns:1fr!important;gap:32px}}.tile{display:block;cursor:none}.tile-img{aspect-ratio:3/2;background:var(--tile);border-radius:4px;overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.tile:hover .tile-img{transform:translateY(-4px)}.tile-img>svg,.tile-img>.placeholder{width:100%;height:100%;display:block}.tile-meta{margin-top:14px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.tile-title{font-family:var(--font-display);font-size:22px;line-height:1.15;letter-spacing:-.005em}.tile-tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);flex-shrink:0;font-variant-numeric:tabular-nums}.tile-desc{margin-top:4px;color:var(--ink-2);font-size:13.5px;max-width:36ch}.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:opacity .18s ease;will-change:transform}.cursor-dot{width:8px;height:8px;border-radius:50%;background:var(--ink);transition:width .2s,height .2s,background .2s}.cursor.is-link .cursor-dot{width:36px;height:36px;background:var(--accent);mix-blend-mode:normal;opacity:.85}.cursor-card{position:fixed;top:0;left:0;pointer-events:none;z-index:9998;background:var(--ink);color:var(--paper);font-family:var(--font-display);font-size:18px;padding:8px 14px 10px;border-radius:4px;white-space:nowrap;opacity:0;transform:translate(16px,16px) scale(.95);transform-origin:top left;transition:opacity .2s,transform .2s;will-change:transform}.cursor-card.show{opacity:1;transform:translate(16px,16px) scale(1)}.cursor-card small{display:block;font-family:var(--font-body);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin-top:2px;font-weight:400}footer{margin-top:120px;padding-top:32px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:32px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}footer .marquee{font-family:var(--font-display);font-size:18px;color:var(--ink)}footer ul{list-style:none;padding:0;margin:0;display:flex;gap:24px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:96px;align-items:start}@media (max-width: 900px){.about-grid{grid-template-columns:1fr;gap:40px}}.portrait{aspect-ratio:4/5;background:var(--tile);border-radius:4px;overflow:hidden}.about-body p{font-size:17px;line-height:1.65;color:var(--ink);margin:0 0 20px;max-width:52ch}.about-body p.lede{font-family:var(--font-display);font-size:28px;line-height:1.3;color:var(--ink);margin-bottom:32px}.info-block{margin-top:48px;display:grid;grid-template-columns:120px 1fr;gap:12px 32px;border-top:1px solid var(--rule);padding-top:24px}.info-block dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding-top:4px}.info-block dd{margin:0;font-size:15px;color:var(--ink)}.info-block dd a{border-bottom:1px solid var(--rule);transition:border-color .15s,color .15s}.info-block dd a:hover{color:var(--accent);border-color:var(--accent)}.info-block dd+dd{margin-top:6px}.scatter{position:relative;min-height:1400px;margin-top:32px}.scatter-piece{position:absolute}.scatter-piece .tile-img{box-shadow:0 12px 30px -12px #0000002e,0 2px 6px #0000000f;border-radius:2px}[data-theme=dark] .scatter-piece .tile-img{box-shadow:0 16px 40px -12px #0009,0 2px 6px #0000004d}.scatter-cap{position:absolute;font-family:Caveat,cursive;font-size:22px;color:var(--ink-2);line-height:1.1;pointer-events:none}.scatter-cap .arrow{font-family:var(--font-display);font-style:italic}.proj-hero{aspect-ratio:16/9;background:var(--tile);border-radius:4px;overflow:hidden;margin-bottom:64px}.proj-meta-grid{display:grid;grid-template-columns:2fr 1fr;gap:96px;margin-bottom:80px}@media (max-width: 900px){.proj-meta-grid{grid-template-columns:1fr;gap:32px}}.proj-story p{font-size:17px;line-height:1.7;color:var(--ink);margin:0 0 20px}.proj-story p.lede{font-family:var(--font-display);font-size:26px;line-height:1.35;margin-bottom:28px}.proj-side dl{margin:0;display:grid;gap:18px}.proj-side dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.proj-side dd{margin:0;font-size:15px}.proj-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:64px}.proj-gallery>*{aspect-ratio:4/3;background:var(--tile);border-radius:4px;overflow:hidden}.proj-gallery .wide{grid-column:1 / -1;aspect-ratio:16/7}.quote-block{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:56px 0;margin:80px 0;text-align:center}.quote-block blockquote{font-family:var(--font-display);font-size:clamp(28px,3.4vw,40px);line-height:1.25;margin:0 auto 20px;max-width:28ch;font-style:italic}.quote-block cite{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.proj-nav{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--rule);padding-top:32px}.proj-nav a{display:flex;flex-direction:column;gap:6px;padding:16px 0}.proj-nav a.next{text-align:right;align-items:flex-end}.proj-nav small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.proj-nav strong{font-family:var(--font-display);font-weight:400;font-size:28px;letter-spacing:-.01em}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:32px 0 80px}.process>*{aspect-ratio:1;background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;overflow:hidden;position:relative}.process small{position:absolute;bottom:8px;left:10px;font-family:Caveat,cursive;font-size:16px;color:var(--ink-2)}.page{display:block}.contact-form{margin-top:32px;display:grid;gap:16px;max-width:480px}.contact-form label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:6px}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--rule);padding:8px 0;font:inherit;color:var(--ink);outline:none;font-size:15px;transition:border-color .15s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form textarea{resize:vertical;min-height:100px;font-family:inherit}.contact-form button{justify-self:start;margin-top:12px;background:var(--ink);color:var(--paper);border:0;padding:14px 28px;border-radius:999px;font-size:14px;cursor:none;transition:transform .15s}.contact-form button:hover{transform:translateY(-1px)}.contact-form .sent{color:var(--accent);font-family:var(--font-display);font-size:22px}
