:root{--stone:#f2f1ec;--paper:#fafaf7;--ink:#1c1e1d;--muted:#5e6461;--quiet:#626864;--line:#d3d6d2;--line-strong:#b8beb9;--slate:#596a7c;--eucalyptus:#7d8c80;--sage-wash:#e5e9e4;--blue-wash:#e7eaed;--font-sans:var(--font-sans-face), "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-serif:var(--font-serif-face), Georgia, "Times New Roman", serif;--font-mono:var(--font-mono-face), ui-monospace, "SF Mono", Menlo, monospace;--container:87rem;--gutter:clamp(1.5rem, 5vw, 5.5rem);--section-space:clamp(7rem, 12vw, 12rem);--radius-small:.35rem;--radius-medium:.8rem;--ease-quiet:cubic-bezier(.22, .72, .24, 1);--duration-fast:.18s;--duration-medium:.52s;--duration-slow:1.1s;--hero-shift:0px;--hero-opacity:1;--gathr-scale:1;--gathr-shift:0px;--gathr-inset-x:0%;--gathr-inset-y:0%;--gathr-radius:0px;--gathr-opacity:1;--site-progress:0}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}*,:before,:after{box-sizing:border-box}body{background:var(--stone);min-height:100vh;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}a,button,input,summary{color:inherit;font:inherit}a{text-decoration:none}button,summary{cursor:pointer}:where(a,button,input,summary):focus-visible{outline:2px solid var(--slate);outline-offset:5px}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0}::selection{background:var(--slate);color:var(--paper)}.container{width:min(var(--container), calc(100% - (var(--gutter) * 2)));margin-inline:auto}.section{padding-block:var(--section-space)}.section-compact-top{padding-top:1rem}.section-last{padding-bottom:clamp(8rem,12vw,12rem)}.route-frame{min-width:0}.skip-link{z-index:100;background:var(--ink);color:var(--paper);transition:transform var(--duration-fast) ease;padding:.55rem .75rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus-visible{transform:translateY(0)}.site-header{z-index:50;border-bottom:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--stone) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background var(--duration-medium) ease, border-color var(--duration-medium) ease, box-shadow var(--duration-medium) ease;position:sticky;top:0}.site-reading-progress{background:linear-gradient(90deg, var(--eucalyptus), var(--slate));opacity:.72;height:2px;transform:scaleX(var(--site-progress));transform-origin:0;will-change:transform;position:absolute;bottom:-1px;left:0;right:0}html[data-page-scrolled] .site-header{border-color:color-mix(in srgb, var(--line-strong) 72%, transparent);background:color-mix(in srgb, var(--stone) 86%, transparent);box-shadow:0 .7rem 2rem #1c1e1d09}.nav-shell{justify-content:space-between;align-items:center;gap:2rem;min-height:4.7rem;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;align-items:baseline;gap:.75rem;font-size:.95rem;font-weight:600;display:flex}.brand small{color:var(--quiet);letter-spacing:.01em;font-size:.72rem;font-weight:400}.nav{align-items:center;gap:clamp(1rem,2.2vw,2.25rem);display:flex}.nav-link{color:var(--muted);padding-block:.4rem;font-size:.88rem;position:relative}.nav-link:after{content:"";transform-origin:100%;height:1px;transition:transform var(--duration-fast) var(--ease-quiet);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link:focus-visible,.nav-link.is-active{color:var(--ink)}.nav-link:hover:after,.nav-link:focus-visible:after,.nav-link.is-active:after{transform-origin:0;transform:scaleX(1)}.home-shell{overflow:clip}.home-hero{align-items:center;min-height:calc(100svh - 4.7rem);display:grid}.home-hero-grid{opacity:var(--hero-opacity);transform:translateY(var(--hero-shift));will-change:transform, opacity;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:2rem;padding-block:clamp(5rem,10vh,8rem);display:grid}.home-hero-copy{grid-column:1/8;gap:1.75rem;display:grid}.home-role,.eyebrow,.project-kicker,.project-status,.featured-project-number,.project-media figcaption,.proof-facts dt,.metric-list dt,.architecture-list dt,.technical-proof small{color:var(--slate);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:500;line-height:1.3}.home-hero h1{letter-spacing:-.062em;max-width:10.8ch;font-size:clamp(4rem,6.2vw,6.5rem);font-weight:500;line-height:.96}.hero-title-line{padding-bottom:.05em;display:block;overflow:hidden}.hero-title-line>span{display:block}.home-shell[data-motion=ready] .home-role,.home-shell[data-motion=ready] .hero-title-line>span,.home-shell[data-motion=ready] .home-intro,.home-shell[data-motion=ready] .primary-text-link{opacity:0}.home-shell[data-motion=ready] .hero-title-line>span{transform:translateY(112%)rotate(1.2deg)}.home-shell[data-motion=active] .home-role{animation:quiet-enter .76s 80ms var(--ease-quiet) both}.home-shell[data-motion=active] .hero-title-line>span{animation:hero-line-settle .98s var(--ease-quiet) both}.home-shell[data-motion=active] .hero-title-line:first-child>span{animation-delay:.13s}.home-shell[data-motion=active] .hero-title-line:nth-child(2)>span{animation-delay:.22s}.home-shell[data-motion=active] .hero-title-line:nth-child(3)>span{animation-delay:.31s}.home-shell[data-motion=active] .home-intro{animation:quiet-enter .9s .44s var(--ease-quiet) both}.home-shell[data-motion=active] .primary-text-link{animation:quiet-enter .9s .54s var(--ease-quiet) both}.home-intro{max-width:38rem;color:var(--muted);letter-spacing:-.018em;font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.55}.primary-text-link,.quiet-link,.contact-email,.project-link,.inline-link,.button{width:fit-content;color:var(--ink);transition:color var(--duration-fast) ease, gap var(--duration-fast) var(--ease-quiet);border-bottom:1px solid;align-items:center;gap:.85rem;font-size:.9rem;line-height:1.5;display:inline-flex}.primary-text-link{margin-top:.5rem}.primary-text-link:hover,.primary-text-link:focus-visible,.quiet-link:hover,.quiet-link:focus-visible,.contact-email:hover,.contact-email:focus-visible,.project-link:hover,.project-link:focus-visible,.inline-link:hover,.inline-link:focus-visible,.button:hover,.button:focus-visible{color:var(--slate);gap:1.15rem}.featured-work-section{padding-top:clamp(4rem,7vw,7rem)}.quiet-section-heading{grid-template-columns:2fr 7fr 3fr;align-items:end;gap:2rem;margin-bottom:clamp(7rem,11vw,11rem);display:grid}.quiet-section-heading h2,.archive-preview-section h2,.about-section h2,.contact-section h2,.section-header h2,.project-narrative-section h2,.project-interaction-section h2,.engineering-section h2,.failure-section h2,.project-reflection h2{letter-spacing:-.055em;font-size:clamp(2.8rem,5vw,5rem);font-weight:500;line-height:1}.quiet-section-heading>p:last-child,.archive-preview-section header>p,.about-grid>div>p,.section-note{color:var(--muted)}.home-shell[data-motion=ready] [data-reveal],.home-shell[data-motion=active] [data-reveal]{opacity:0;transform:translateY(3.25rem)}.home-shell[data-motion=active] [data-reveal][data-visible=true]{opacity:1;transition:opacity .9s var(--ease-quiet), transform 1.1s var(--ease-quiet);transition-delay:calc(var(--reveal-order,0) * 32ms);transform:translateY(0)}.home-shell[data-motion=active] .quiet-section-heading[data-visible=true] h2,.home-shell[data-motion=active] .about-section[data-visible=true] h2,.home-shell[data-motion=active] .contact-section[data-visible=true] h2{animation:heading-focus 1.1s .12s var(--ease-quiet) both}.featured-projects{gap:clamp(10rem,16vw,17rem);display:grid}.featured-project{perspective:1600px;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:2rem;display:grid}.featured-project-copy{gap:1.35rem;display:grid}.featured-project-copy h3{letter-spacing:-.06em;font-size:clamp(3rem,5.3vw,5.4rem);font-weight:500;line-height:.95}.featured-project-copy>p:not(.featured-project-number){max-width:30rem;color:var(--muted);font-size:1.05rem}.featured-project-gathrly .featured-project-copy{grid-column:1/5}.featured-project-gathrly .project-media{clip-path:inset(var(--gathr-inset-y) var(--gathr-inset-x) round var(--gathr-radius));opacity:var(--gathr-opacity);transform:translateY(var(--gathr-shift)) scale(var(--gathr-scale)) perspective(1600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:66% 14%;will-change:transform, clip-path, opacity;grid-column:6/-1;transition:filter .5s,box-shadow .5s}.featured-project-vibegrid{align-items:start}.featured-project-vibegrid .featured-project-copy{grid-column:1/5}.featured-project-vibegrid .project-media{transform:perspective(1800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s var(--ease-quiet), filter .5s ease;grid-column:1/-1;margin-top:3rem}.featured-project-murmur .project-media{transform:perspective(1600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s var(--ease-quiet), filter .5s ease;grid-column:1/8}.featured-project-murmur .featured-project-copy{grid-column:9/-1}.project-media{min-width:0}.featured-project[data-pressed=true] .project-media{filter:saturate(.92)brightness(.97);transition-duration:.16s}.featured-project[data-pressed=true] .project-media-stage,.featured-project[data-pressed=true] .murmur-fragment{transform:scale(.985)}.project-media-stage{background:var(--sage-wash);transition:transform .52s var(--ease-quiet), box-shadow .52s ease;place-items:center;display:grid;position:relative;overflow:hidden}.project-media-stage-portrait{min-height:clamp(34rem,54vw,54rem);padding:clamp(2rem,5vw,5rem)}.project-media-stage-landscape{background:#0e1324}.project-media-image{width:100%;height:auto;display:block}.project-media-stage-portrait .project-media-image{object-fit:contain;width:min(100%,27rem);max-height:47rem;animation:8s ease-in-out infinite gathr-interface-breathe;box-shadow:0 2.5rem 5rem #1c1e1d26}.gathr-focus-frame{pointer-events:none;opacity:calc(var(--gathr-progress) * .58);position:absolute;inset:clamp(1.2rem,3.5vw,3.5rem)}.gathr-focus-frame i{border-color:color-mix(in srgb, var(--slate) 62%, transparent);width:1.25rem;height:1.25rem;position:absolute}.gathr-focus-frame i:first-child{border-top:1px solid;border-left:1px solid;top:0;left:0}.gathr-focus-frame i:nth-child(2){border-top:1px solid;border-right:1px solid;top:0;right:0}.gathr-focus-frame i:nth-child(3){border-bottom:1px solid;border-right:1px solid;bottom:0;right:0}.gathr-focus-frame i:nth-child(4){border-bottom:1px solid;border-left:1px solid;bottom:0;left:0}.project-media-stage-landscape .project-media-image{animation:vibegrid-drift 12s var(--ease-quiet) infinite alternate}.featured-project-gathrly:not([data-in-view=true]) .project-media-image,.featured-project-vibegrid:not([data-in-view=true]) .project-media-image,.featured-project-vibegrid:not([data-in-view=true]) .vibegrid-sequence-labels span,.featured-project-vibegrid:not([data-in-view=true]) .vibegrid-sequence-track i{animation-play-state:paused}.vibegrid-sequence{color:#fafaf7b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e1324b8;border:1px solid #fafaf729;gap:.5rem;padding:.75rem .9rem;display:grid;position:absolute;bottom:clamp(.8rem,2vw,1.5rem);left:clamp(.8rem,2vw,1.5rem);right:clamp(.8rem,2vw,1.5rem)}.vibegrid-sequence-labels{letter-spacing:.1em;text-transform:uppercase;grid-template-columns:repeat(3,1fr);font-size:.61rem;display:grid}.vibegrid-sequence-labels span:nth-child(2){text-align:center}.vibegrid-sequence-labels span:nth-child(3){text-align:right}.vibegrid-sequence-labels span{animation:9s ease-in-out infinite vibegrid-stage-label}.vibegrid-sequence-labels span:nth-child(2){animation-delay:-6s}.vibegrid-sequence-labels span:nth-child(3){animation-delay:-3s}.vibegrid-sequence-track{background:#fafaf73d;height:1px;display:block;position:relative}.vibegrid-sequence-track:before,.vibegrid-sequence-track:after{content:"";background:#fafaf75c;border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:-.18rem}.vibegrid-sequence-track:before{left:calc(50% - .2rem)}.vibegrid-sequence-track:after{right:0}.vibegrid-sequence-track i{background:var(--paper);width:.52rem;height:.52rem;animation:vibegrid-stage-travel 9s var(--ease-quiet) infinite;border-radius:50%;position:absolute;top:-.24rem;left:0;box-shadow:0 0 1rem #fafaf78c}.project-media figcaption{color:var(--quiet);margin-top:.85rem;font-size:.67rem}.murmur-fragment{background:var(--ink);min-height:clamp(31rem,48vw,47rem);color:var(--paper);grid-template-rows:auto 1fr auto auto;padding:clamp(1.5rem,4vw,3.75rem);display:grid}.murmur-fragment-topline,.murmur-fragment-state{color:#ffffff9e;justify-content:space-between;font-size:.8rem;display:flex}.murmur-waveform{align-items:center;gap:clamp(.18rem,.5vw,.5rem);min-height:12rem;display:flex;position:relative;overflow:hidden}.murmur-waveform span{width:100%;height:var(--wave-level);background:color-mix(in srgb, var(--eucalyptus) 88%, var(--paper));transform-origin:50%;animation:murmur-wave 2.6s var(--wave-delay) ease-in-out infinite alternate;border-radius:999px;transform:scaleY(.58)}.murmur-playhead{width:1px;animation:murmur-playhead 6.4s var(--ease-quiet) infinite;background:#fafaf757;position:absolute;top:14%;bottom:14%;left:0;box-shadow:0 0 .8rem #fafaf740}.murmur-fragment blockquote{letter-spacing:-.045em;margin-bottom:clamp(3rem,6vw,6rem);font-size:clamp(2.25rem,4.2vw,4.5rem);font-weight:500;line-height:1.05}.murmur-fragment-state span:last-child{position:relative}.murmur-fragment-state span:last-child:before{background:color-mix(in srgb, var(--eucalyptus) 82%, var(--paper));content:"";border-radius:50%;width:.4rem;height:.4rem;margin-right:.45rem;animation:4.6s ease-out infinite heard-state;display:inline-block;box-shadow:0 0 #7d8c8066}.featured-project-murmur:not([data-in-view=true]) .murmur-waveform span,.featured-project-murmur:not([data-in-view=true]) .murmur-playhead,.featured-project-murmur:not([data-in-view=true]) .murmur-fragment-state span:last-child:before{animation-play-state:paused}.archive-preview-section{border-top:1px solid var(--line)}.archive-preview-grid{grid-template-columns:4fr 8fr;align-items:start;gap:clamp(3rem,7vw,7rem);display:grid}.archive-preview-grid>header{gap:1.5rem;display:grid;position:sticky;top:8rem}.archive-preview-section h2{max-width:8ch}.archive-preview-list{border-top:1px solid var(--line-strong)}.archive-preview-row{border-bottom:1px solid var(--line);isolation:isolate;transition:padding var(--duration-medium) var(--ease-quiet), color var(--duration-fast) ease;grid-template-columns:minmax(12rem,1fr) minmax(14rem,.9fr) auto;align-items:center;gap:1.5rem;padding:1.6rem 0;display:grid;position:relative}.archive-preview-row:before{z-index:-1;background:linear-gradient(90deg, var(--eucalyptus), var(--slate) 70%, transparent);content:"";transform-origin:0;height:2px;transition:transform .72s var(--ease-quiet);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.archive-preview-row>span:first-child{letter-spacing:-.025em;transition:transform var(--duration-medium) var(--ease-quiet);font-size:1.25rem}.archive-preview-row>span:nth-child(2){color:var(--muted);transition:color var(--duration-medium) ease, transform var(--duration-medium) var(--ease-quiet);font-size:.88rem}.archive-preview-row>span:last-child{color:var(--slate);transition:transform var(--duration-medium) var(--ease-quiet)}.archive-preview-row:hover,.archive-preview-row:focus-visible{color:var(--slate);padding-left:.5rem}.archive-preview-row:hover:before,.archive-preview-row:focus-visible:before{transform:scaleX(1)}.archive-preview-row:hover>span:first-child,.archive-preview-row:focus-visible>span:first-child{transform:translate(.35rem)}.archive-preview-row:hover>span:nth-child(2),.archive-preview-row:focus-visible>span:nth-child(2){color:var(--ink);transform:translate(.2rem)}.archive-preview-row:hover>span:last-child,.archive-preview-row:focus-visible>span:last-child{transform:translate(.25rem,-.25rem)rotate(5deg)}.about-section{border-top:1px solid var(--line);background:var(--sage-wash)}.about-grid,.contact-grid,.project-narrative-grid,.project-interaction-grid{grid-template-columns:3fr 9fr;gap:clamp(2rem,6vw,6rem);display:grid}.about-grid>div{gap:1.75rem;display:grid}.about-section h2{max-width:10ch}.about-lead{letter-spacing:-.025em;max-width:50rem;font-size:clamp(1.5rem,2.4vw,2.3rem);line-height:1.35;color:var(--ink)!important}.about-grid>.eyebrow{font-family:var(--font-serif);letter-spacing:0;text-transform:none;font-size:.82rem;font-style:italic;font-weight:400}.about-grid>div>p:not(.about-lead){max-width:42rem}.about-links,.contact-links,.inline-link-row,.section-actions,.project-links,.cta-row{flex-wrap:wrap;gap:1.5rem;display:flex}.contact-section{background:var(--ink);color:var(--paper)}.contact-section .eyebrow{color:#aeb9c1}.contact-grid>div{gap:2.5rem;display:grid}.contact-section h2{max-width:13ch}.contact-email{color:var(--paper);font-size:1.1rem}.contact-email:hover,.contact-email:focus-visible{color:#bdc8d1}.contact-links a{color:#fafaf79e;font-size:.86rem}.contact-links a:hover,.contact-links a:focus-visible{color:var(--paper)}.page-intro{padding-top:clamp(7rem,11vw,11rem);padding-bottom:clamp(5rem,8vw,8rem)}.page-intro-shell{gap:1.5rem;max-width:74rem;display:grid}.page-intro-narrow{max-width:66rem}.page-intro h1,.project-intro h1{letter-spacing:-.065em;max-width:12ch;font-size:clamp(3.6rem,7vw,7rem);font-weight:500;line-height:.95}.page-intro p:not(.eyebrow),.lead,.detail-note{max-width:48rem;color:var(--muted);font-size:1.08rem}.projects-toolbar{margin-bottom:3rem}.filter-row{flex-wrap:wrap;gap:1.75rem;display:flex}.filter-chip{color:var(--muted);transition:color var(--duration-medium) ease, transform var(--duration-medium) var(--ease-quiet);border-bottom:1px solid #0000;padding-bottom:.2rem;font-size:.9rem;position:relative}.filter-chip:after{background:var(--slate);content:"";opacity:0;transform-origin:0;height:.18rem;transition:opacity var(--duration-medium) ease, transform .62s var(--ease-quiet);border-radius:999px;position:absolute;bottom:-.5rem;left:0;right:0;transform:scaleX(0)}.filter-chip:hover,.filter-chip:focus-visible,.filter-chip.is-active{color:var(--ink);border-color:#0000}.filter-chip:hover,.filter-chip:focus-visible{transform:translateY(-.12rem)}.filter-chip.is-active:after{opacity:.7;transform:scaleX(1)}.project-detail-grid,.project-grid,.experience-list{border-top:1px solid var(--line-strong)}.project-detail-card,.project-card{border-bottom:1px solid var(--line);grid-template-columns:minmax(9rem,2fr) minmax(12rem,3fr) minmax(18rem,6fr) auto;align-items:start;gap:2rem;padding:2.4rem 0;display:grid;position:relative}.project-detail-card:after{background:linear-gradient(90deg, var(--eucalyptus), var(--slate) 72%, transparent);content:"";opacity:.76;transform-origin:0;height:2px;transition:transform .78s var(--ease-quiet);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.project-detail-card:hover:after,.project-detail-card:focus-within:after{transform:scaleX(1)}.project-card-meta{gap:.55rem;display:grid}.project-detail-card h3,.project-card h3{letter-spacing:-.045em;transition:transform var(--duration-medium) var(--ease-quiet);font-size:clamp(1.65rem,2.6vw,2.6rem);font-weight:500;line-height:1}.project-detail-card:hover h3,.project-detail-card:focus-within h3{transform:translate(.35rem)}.project-title-link{transition:color var(--duration-fast) ease}.project-title-link:hover,.project-title-link:focus-visible{color:var(--slate)}.project-summary{max-width:43rem;color:var(--muted)}.project-link,.inline-link,.button{flex:none}.project-link-primary{color:var(--ink)}.button-solid,.button-ghost{padding-bottom:.2rem}.section-header{grid-template-columns:1fr 1fr;align-items:end;gap:2rem;margin-bottom:3.5rem;display:grid}.section-header>div{gap:.75rem;display:grid}.section-header h2{font-size:clamp(2.4rem,4vw,4rem)}.section-note{justify-self:end;max-width:32rem}.resume-grid,.resume-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,6vw,6rem);display:grid}.resume-card{border-top:1px solid var(--line-strong);transition:border-color var(--duration-medium) ease;align-content:start;gap:1.25rem;padding-top:1.5rem;display:grid;position:relative}.resume-card:before{background:var(--slate);content:"";opacity:0;transform-origin:0;width:4rem;height:2px;transition:opacity var(--duration-medium) ease, transform .72s var(--ease-quiet);position:absolute;top:-1px;left:0;transform:scaleX(0)}.resume-card:hover:before,.resume-card:focus-within:before{opacity:.7;transform:scaleX(1)}.resume-card h2{letter-spacing:-.045em;font-size:clamp(2rem,3.3vw,3.25rem);font-weight:500;line-height:1.05}.resume-card h3,.experience-row h3{letter-spacing:-.02em;font-size:1.25rem;font-weight:500}.resume-stack,.skill-groups{gap:2.25rem;margin-top:1rem;display:grid}.resume-item,.skill-group{border-top:1px solid var(--line);gap:.9rem;padding-top:1.25rem;display:grid}.resume-item-header,.experience-header{justify-content:space-between;gap:1.5rem;display:flex}.resume-company,.resume-meta,.resume-card>p,.skill-group p{color:var(--muted)}.resume-meta{text-align:right;min-width:8rem;font-size:.78rem;display:grid}.resume-list,.reviewer-steps,.story-list{gap:.7rem;padding-left:1.15rem;display:grid}.resume-list li,.reviewer-steps li,.story-list li{color:var(--muted)}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:4fr 8fr;gap:3rem;padding:2.5rem 0 2.5rem 3.25rem;display:grid;position:relative}.experience-list{position:relative}.experience-rail{background:linear-gradient(180deg, var(--eucalyptus), var(--line-strong) 45%, var(--slate));opacity:.58;transform-origin:top;width:1px;position:absolute;top:2.8rem;bottom:2.8rem;left:.38rem}.experience-node{border:1px solid var(--eucalyptus);background:var(--stone);border-radius:50%;width:.8rem;height:.8rem;position:absolute;top:3.15rem;left:.38rem;transform:translate(-50%,-50%)}.experience-node i{background:var(--slate);border-radius:50%;width:.26rem;height:.26rem;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.experience-row:hover .experience-node,.experience-row:focus-within .experience-node{border-color:var(--slate);transition:border-color var(--duration-medium) ease, box-shadow .72s var(--ease-quiet);box-shadow:0 0 0 .8rem #60718414}.resume-scan{width:min(100%,48rem);height:7rem;margin-top:1.5rem;position:relative}.resume-scan-line,.resume-scan-runner{height:1px;position:absolute;top:2.6rem;left:0}.resume-scan-line{background:linear-gradient(90deg, transparent, var(--line-strong) 7%, var(--line-strong) 93%, transparent);transform-origin:0;right:0}.resume-scan-runner{background:linear-gradient(90deg, transparent, var(--slate));width:2.5rem;color:var(--slate);filter:drop-shadow(0 0 .65rem #60718438);opacity:0}.resume-scan-runner i{background:currentColor;border-radius:50%;width:.42rem;height:.42rem;position:absolute;top:50%;right:0;transform:translateY(-50%)}.resume-scan-stop{color:var(--muted);justify-items:center;gap:.72rem;display:grid;position:absolute;top:2.6rem;transform:translate(-50%,-50%)}.resume-scan-stop-one{left:10%}.resume-scan-stop-two{left:52%}.resume-scan-stop-three{left:90%}.resume-scan-stop i{border:1px solid var(--eucalyptus);background:var(--stone);border-radius:50%;width:.65rem;height:.65rem}.resume-scan-stop small{letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.project-intro{padding-top:clamp(7rem,11vw,11rem);padding-bottom:clamp(5rem,8vw,8rem)}.project-intro-copy{gap:1.5rem;display:grid}.project-intro .lead{max-width:56rem;font-size:clamp(1.12rem,1.7vw,1.4rem)}.project-case-media-section{padding-bottom:clamp(7rem,12vw,12rem)}.project-media-case-study.project-media-gathrly .project-media-stage-portrait{min-height:min(80rem,85vw)}.project-media-case-study.project-media-gathrly .project-media-image{width:min(100%,34rem);max-height:72rem}.project-media-case-study.project-media-vibegrid .project-media-stage-landscape{background:#0e1324}.project-narrative-grid,.project-interaction-grid{align-items:start}.project-narrative-grid header,.project-interaction-grid header{gap:1.25rem;display:grid}.project-prose{gap:1.4rem;max-width:54rem;display:grid}.project-prose p,.project-reflection p,.failure-list li,.architecture-list dd,.technical-proof-note,.technical-proof-body p{color:var(--muted)}.project-prose p{font-size:clamp(1.08rem,1.6vw,1.3rem)}.project-interaction-section{padding-top:2rem}.interaction-list{border-top:1px solid var(--line-strong);list-style:none}.interaction-list li{border-bottom:1px solid var(--line);grid-template-columns:4rem 1fr;gap:1.5rem;padding:2rem 0;display:grid}.interaction-list span{color:var(--slate);font-size:.78rem}.interaction-list p{max-width:49rem;font-size:clamp(1.1rem,1.8vw,1.4rem)}.engineering-section{background:var(--blue-wash)}.engineering-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(4rem,8vw,8rem);display:grid}.engineering-grid>article,.engineering-grid>aside{align-content:start;gap:1.5rem;display:grid}.engineering-section h2{font-size:clamp(2.4rem,4.2vw,4.2rem)}.architecture-list,.proof-facts,.metric-list{border-top:1px solid var(--line-strong)}.architecture-list>div,.proof-facts>div,.metric-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,.32fr) 1fr;gap:1.5rem;padding:1.2rem 0;display:grid}.architecture-list dt,.proof-facts dt,.metric-list dt{align-self:start}.failure-section{border-bottom:1px solid var(--line)}.failure-list{gap:1.25rem;list-style:none;display:grid}.failure-list li{max-width:52rem;padding-left:1.5rem;font-size:1.08rem;position:relative}.failure-list li:before{background:var(--eucalyptus);content:"";border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.78em;left:0}.reflection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,7vw,7rem);display:grid}.project-reflection{border-top:1px solid var(--line-strong);align-content:start;gap:1.4rem;padding-top:1.5rem;display:grid}.project-reflection h2{font-size:clamp(2rem,3.2vw,3.2rem)}.technical-proof-section{padding-top:2rem}.technical-proof{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.technical-proof summary{transition:color var(--duration-medium) ease, padding var(--duration-medium) var(--ease-quiet);justify-content:space-between;gap:2rem;padding:2rem 0;font-size:1.1rem;list-style:none;display:flex}.technical-proof summary::-webkit-details-marker{display:none}.technical-proof summary>span:first-child{gap:.45rem;display:grid}.technical-proof summary>span:last-child{color:var(--slate);transform-origin:50%;transition:color var(--duration-medium) ease, transform .72s var(--ease-quiet);font-size:1.5rem}.technical-proof summary:hover,.technical-proof summary:focus-visible{color:var(--slate)}.technical-proof summary:hover>span:last-child,.technical-proof summary:focus-visible>span:last-child{transform:rotate(90deg)}.technical-proof[open] summary>span:last-child{transform:rotate(45deg)}.technical-proof-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,7vw,7rem);padding:1rem 0 4rem;display:grid}.technical-proof[open] .technical-proof-body{animation:proof-body-open .9s var(--ease-quiet) both}.technical-proof[open] .technical-proof-body>div{animation:proof-column-open .9s .11s var(--ease-quiet) both}.technical-proof[open] .technical-proof-body>div:nth-child(2){animation-delay:.21s}.technical-proof-body>div{align-content:start;gap:1.5rem;display:grid}.technical-proof-body h3{margin-top:1rem;font-size:1rem;font-weight:500}.project-next{border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,.6fr) minmax(0,2fr);gap:clamp(2rem,6vw,6rem);padding:3rem 0;display:grid}.project-next-all,.project-next-link{color:var(--muted);align-content:start;gap:.35rem;padding:1.25rem 0;display:grid;position:relative}.project-next-all small,.project-next-link small{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.project-next-all span,.project-next-link span{letter-spacing:-.02em;transition:color var(--duration-medium) ease, transform var(--duration-medium) var(--ease-quiet);font-size:1.12rem}.project-next-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem);display:grid}.project-next-link{border-top:1px solid var(--line-strong);padding-right:2.5rem}.project-next-link:before{background:linear-gradient(90deg, var(--eucalyptus), var(--slate));content:"";transform-origin:0;height:2px;transition:transform .76s var(--ease-quiet);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.project-next-link i{color:var(--slate);transition:transform var(--duration-medium) var(--ease-quiet);font-size:1.2rem;font-style:normal;position:absolute;top:1.15rem;right:0}.project-next-link:only-child{grid-column:2}.project-next a:hover span,.project-next a:focus-visible span{color:var(--ink);transform:translate(.25rem)}.project-next-link:hover:before,.project-next-link:focus-visible:before{transform:scaleX(1)}.project-next-previous:hover i,.project-next-previous:focus-visible i{transform:translate(-.35rem)}.project-next-forward:hover i,.project-next-forward:focus-visible i{transform:translate(.35rem)}.evidence-lens,.lens-toolbar,.lens-search,.work-list,.work-main,.work-side,.work-meta,.evidence-proof,.mini-metrics{display:grid}.lens-toolbar{grid-template-columns:1fr minmax(16rem,.35fr);align-items:end;gap:3rem}.lens-tabs{gap:1.5rem;display:flex}.lens-tab{color:var(--muted);background:0 0;border:0;border-bottom:1px solid #0000;padding:0}.lens-tab.is-active{color:var(--ink);border-color:currentColor}.lens-search{color:var(--muted);gap:.45rem;font-size:.8rem}.lens-search input{border:0;border-bottom:1px solid var(--line-strong);background:0 0;min-height:2.5rem}.lens-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:2rem 0;display:grid}.lens-summary>div{padding:1rem 0}.work-row{border-bottom:1px solid var(--line);grid-template-columns:2fr 7fr 3fr;gap:2rem;padding:2rem 0;display:grid}.work-meta,.work-main,.work-side,.evidence-proof,.mini-metrics{gap:.5rem}.work-meta,.work-side,.evidence-proof{color:var(--muted);font-size:.82rem}.site-footer{border-top:1px solid var(--line);background:var(--stone)}.footer-shell{min-height:6.5rem;color:var(--muted);justify-content:space-between;align-items:center;gap:2rem;font-size:.76rem;display:flex}.footer-shell nav{gap:1.5rem;display:flex}.footer-shell a:hover,.footer-shell a:focus-visible{color:var(--ink)}@media (prefers-reduced-motion:no-preference){.route-frame{animation:route-frame-enter .72s var(--ease-quiet) backwards}.page-intro .eyebrow,.project-intro .eyebrow{animation:quiet-enter .72s 70ms var(--ease-quiet) both}.page-intro h1,.project-intro h1{animation:page-title-enter 1s .13s var(--ease-quiet) both}.page-intro p:not(.eyebrow),.project-intro .lead,.project-intro .project-links{animation:quiet-enter .9s .31s var(--ease-quiet) both}.project-detail-grid{animation:archive-view-settle .86s .12s var(--ease-quiet) both}.resume-scan-line{animation:resume-line-arrive 1.2s .62s var(--ease-quiet) both}.resume-scan-runner{animation:resume-scan-travel 7.2s 1.7s var(--ease-quiet) both}.resume-scan-stop i{animation:7.2s ease-out 1.7s both resume-stop-read}.resume-scan-stop-two i{animation-delay:4.2s}.resume-scan-stop-three i{animation-delay:6.7s}@supports (animation-timeline:view()){.project-case-media-section .project-media,.project-narrative-section,.project-interaction-section,.engineering-section,.failure-section,.project-reflection,.technical-proof-section,.project-detail-card,.experience-row,.resume-card{animation:linear both section-view-enter;animation-timeline:view();animation-range:entry cover 28%}.project-case-media-section .project-media{transform-origin:50% 18%;animation-name:case-media-open;animation-range:entry cover 40%}.experience-rail{animation:linear both experience-rail-draw;animation-timeline:view();animation-range:entry 4% cover 72%}}}@keyframes route-frame-enter{0%{opacity:.36}to{opacity:1}}@keyframes archive-view-settle{0%{opacity:.35;transform:translateY(1.4rem)}to{opacity:1;transform:none}}@keyframes resume-line-arrive{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes resume-scan-travel{0%{opacity:0;left:0}8%,84%{opacity:.8}to{opacity:0;left:calc(100% - 2.5rem)}}@keyframes resume-stop-read{0%,8%,to{transform:scale(1);box-shadow:0 0 #60718400}14%{transform:scale(1.18);box-shadow:0 0 0 .75rem #6071841c}22%{transform:scale(1);box-shadow:0 0 0 1.25rem #60718400}}@keyframes experience-rail-draw{0%{opacity:.18;transform:scaleY(0)}to{opacity:.62;transform:scaleY(1)}}@keyframes hero-line-settle{0%{opacity:0;transform:translateY(112%)rotate(1.2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes quiet-enter{0%{opacity:0;transform:translateY(1.6rem)}to{opacity:1;transform:translateY(0)}}@keyframes page-title-enter{0%{opacity:0;letter-spacing:-.09em;transform:translateY(2.4rem)}to{opacity:1;letter-spacing:-.065em;transform:translateY(0)}}@keyframes heading-focus{0%{opacity:.3;letter-spacing:-.075em;transform:translateY(1.4rem)}to{opacity:1;letter-spacing:-.055em;transform:translateY(0)}}@keyframes gathr-interface-breathe{0%,to{transform:translateY(0)scale(1);box-shadow:0 2.5rem 5rem #1c1e1d26}50%{transform:translateY(-.55rem)scale(1.006);box-shadow:0 3rem 6.5rem #1c1e1d30}}@keyframes vibegrid-drift{0%{transform:scale(1.002)translate(0,0)}to{transform:scale(1.026)translate(-.35%,-.3%)}}@keyframes vibegrid-stage-travel{0%,8%{left:0}31%,41%{left:calc(50% - .26rem)}64%,74%{left:calc(100% - .52rem)}to{left:calc(100% - .52rem)}}@keyframes vibegrid-stage-label{0%,24%,to{color:var(--paper);opacity:1}34%,90%{color:#fafaf77a;opacity:.64}}@keyframes murmur-wave{0%{opacity:.58;transform:scaleY(.42)}to{opacity:1;transform:scaleY(1)}}@keyframes murmur-playhead{0%{opacity:0;left:0}8%{opacity:.7}90%{opacity:.7}to{opacity:0;left:calc(100% - 1px)}}@keyframes heard-state{0%,58%{box-shadow:0 0 #7d8c8066}to{box-shadow:0 0 0 .65rem #7d8c8000}}@keyframes section-view-enter{0%{opacity:.18;transform:translateY(4.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes case-media-open{0%{opacity:.22;clip-path:inset(14% 18% round 3rem);transform:translateY(5rem)scale(.88)}to{opacity:1;clip-path:inset(0);transform:translateY(0)scale(1)}}@keyframes proof-body-open{0%{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}@keyframes proof-column-open{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@media (max-width:980px){.home-hero-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.home-hero-copy{grid-column:1/6}.quiet-section-heading{grid-template-columns:2fr 6fr}.quiet-section-heading>p:last-child{grid-column:2}.featured-project-gathrly .featured-project-copy,.featured-project-vibegrid .featured-project-copy{grid-column:1/6}.featured-project-gathrly .project-media{grid-column:6/-1}.featured-project-murmur .project-media{grid-column:1/8}.featured-project-murmur .featured-project-copy{grid-column:8/-1}.project-detail-card,.project-card{grid-template-columns:2fr 3fr 6fr}.project-detail-card .project-links,.project-card .project-links{grid-column:2/-1}}@media (max-width:760px){:root{--gutter:1.25rem;--section-space:6.5rem}html{scroll-padding-top:4.5rem}body{font-size:16px}.nav-shell{gap:1rem;min-height:4.25rem}.brand{gap:0;font-size:.86rem;display:grid}.brand small{font-size:.62rem}.nav{gap:1rem}.nav-link{font-size:.78rem}.nav-archive{display:none}.home-hero{min-height:auto}.home-hero-grid{flex-direction:column;align-items:stretch;gap:5rem;padding-top:5.5rem;padding-bottom:3rem;display:flex}.home-hero-copy{gap:1.4rem}.home-hero h1{max-width:9.5ch;font-size:clamp(3.25rem,14vw,4.6rem)}.home-intro{font-size:1.05rem}.quiet-section-heading,.archive-preview-grid,.about-grid,.contact-grid,.project-narrative-grid,.project-interaction-grid,.engineering-grid,.resume-grid,.resume-project-grid,.reflection-grid,.technical-proof-body,.section-header,.experience-row,.lens-toolbar{grid-template-columns:1fr}.quiet-section-heading{gap:1.25rem;margin-bottom:6rem}.quiet-section-heading>p:last-child{grid-column:1}.quiet-section-heading h2,.archive-preview-section h2,.about-section h2,.contact-section h2,.project-narrative-section h2,.project-interaction-section h2,.failure-section h2{font-size:clamp(2.7rem,12vw,4rem)}.featured-projects{gap:9rem}.featured-project{flex-direction:column;align-items:stretch;gap:3rem;display:flex}.featured-project-gathrly .project-media{transform-origin:50% 10%}.featured-project-copy{order:1}.featured-project .project-media{order:2}.featured-project-copy h3{font-size:clamp(3.1rem,15vw,4.4rem)}.project-media-stage-portrait{min-height:35rem;padding:2rem}.project-media-stage-portrait .project-media-image{width:min(100%,18rem);max-height:31rem}.murmur-fragment{min-height:34rem}.vibegrid-sequence{padding:.55rem .65rem}.archive-preview-grid>header{position:static}.archive-preview-section h2{max-width:10ch}.archive-preview-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.archive-preview-row>span:nth-child(2){grid-area:2/1}.archive-preview-row>span:last-child{grid-area:1/2/3}.about-grid,.contact-grid,.project-narrative-grid,.project-interaction-grid{gap:2rem}.about-lead{font-size:1.7rem}.page-intro,.project-intro{padding-top:6rem}.page-intro h1,.project-intro h1{font-size:clamp(3.2rem,14vw,4.8rem)}.project-detail-card,.project-card{grid-template-columns:1fr;gap:1.15rem;padding:2rem 0}.project-detail-card .project-links,.project-card .project-links{grid-column:1}.project-card-meta{grid-template-columns:1fr auto;align-items:baseline}.section-header{align-items:start}.section-note{justify-self:start}.resume-item-header,.experience-header{display:grid}.resume-meta{text-align:left}.project-media-case-study.project-media-gathrly .project-media-stage-portrait{min-height:43rem}.project-media-case-study.project-media-gathrly .project-media-image{width:min(100%,20rem);max-height:39rem}.engineering-grid{gap:5rem}.architecture-list>div,.proof-facts>div,.metric-list>div{grid-template-columns:1fr;gap:.45rem}.interaction-list li{grid-template-columns:2.5rem 1fr;gap:.75rem}.project-next{grid-template-columns:1fr;display:grid}.project-next-links{grid-template-columns:1fr}.project-next-link:only-child{grid-column:1}.lens-summary{grid-template-columns:repeat(2,1fr)}.work-row{grid-template-columns:1fr}.footer-shell{flex-direction:column;justify-content:center;align-items:flex-start;min-height:8rem}}@media (max-width:440px){.nav{gap:.75rem}.nav-link{font-size:.73rem}.brand small{display:none}.home-role{font-size:.68rem}.home-hero h1{font-size:clamp(3rem,15.5vw,4rem)}.murmur-fragment{min-height:30rem}.murmur-waveform span:nth-child(2n){display:none}.footer-shell nav{gap:1rem}}@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}.site-reading-progress{display:none}.home-hero-grid,.home-shell [data-reveal],.hero-title-line>span,.featured-project .project-media,.project-media-stage,.project-media-image,.murmur-waveform span,.murmur-playhead,.page-intro .eyebrow,.page-intro h1,.page-intro p,.project-intro .eyebrow,.project-intro h1,.project-intro .lead,.project-intro .project-links,.project-case-media-section .project-media,.project-narrative-section,.project-interaction-section,.engineering-section,.failure-section,.project-reflection,.technical-proof-section,.project-detail-card,.technical-proof-body,.technical-proof-body>div{clip-path:none!important;opacity:1!important;transform:none!important}.route-frame,.project-detail-grid,.experience-rail,.experience-row,.resume-card,.resume-scan-line,.resume-scan-runner,.resume-scan-stop i{opacity:1!important;transform:none!important}}.workbench-section{border-top:1px solid var(--line);padding-top:clamp(4rem,7vw,7rem)}.workbench-heading{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:2rem;display:grid}.workbench-heading>div{border-bottom:1px solid var(--line-strong);grid-column:1/4;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.4rem;display:flex}.workbench-heading>div>span{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;font-size:.69rem}.workbench-heading h2{letter-spacing:-.06em;grid-column:4/10;max-width:9ch;font-size:clamp(3.2rem,5.7vw,6rem);font-weight:500;line-height:.96}.workbench-heading>p{max-width:26rem;color:var(--muted);grid-column:10/-1;font-size:.94rem}.project-workbench{border-top:1px solid var(--line-strong);perspective:1800px;grid-template-columns:minmax(17rem,4fr) minmax(0,8fr);align-items:start;gap:clamp(2rem,5vw,5rem);margin-top:clamp(5rem,9vw,9rem);display:grid}.workbench-index{display:grid}.workbench-control{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;transition:padding var(--duration-medium) var(--ease-quiet), color var(--duration-fast) ease;background:0 0;grid-template-columns:2.6rem minmax(0,1fr) 1rem;gap:1rem;padding:1.5rem 0;display:grid;position:relative;overflow:hidden}.workbench-control:before{z-index:-1;background:color-mix(in srgb, var(--sage-wash) 74%, transparent);content:"";transition:transform var(--duration-medium) var(--ease-quiet);position:absolute;inset:0;transform:translate(-102%)}.workbench-control-number{color:var(--quiet);letter-spacing:.08em;padding-top:.28rem;font-size:.68rem}.workbench-control-copy{gap:.35rem;display:grid}.workbench-control-copy strong{letter-spacing:-.045em;font-size:clamp(1.45rem,2.2vw,2.25rem);font-weight:500;line-height:1}.workbench-control-copy small{color:var(--slate);letter-spacing:.07em;text-transform:uppercase;font-size:.64rem}.workbench-control-copy>span{max-height:0;color:var(--muted);opacity:0;transition:max-height .56s var(--ease-quiet), margin .56s var(--ease-quiet), opacity .36s ease, transform .56s var(--ease-quiet);font-size:.82rem;overflow:hidden;transform:translateY(.5rem)}.workbench-control>i{border:1px solid var(--slate);opacity:.35;width:.42rem;height:.42rem;transition:background var(--duration-fast) ease, box-shadow var(--duration-medium) ease, opacity var(--duration-fast) ease;border-radius:50%;align-self:center}.workbench-control:hover,.workbench-control:focus-visible,.workbench-control.is-active{padding-inline:1rem}.workbench-control:hover:before,.workbench-control:focus-visible:before,.workbench-control.is-active:before{transform:translate(0)}.workbench-control.is-active .workbench-control-copy>span{opacity:1;max-height:7rem;margin-top:.6rem;transform:none}.workbench-control.is-active>i{background:var(--slate);box-shadow:0 0 0 .35rem color-mix(in srgb, var(--slate) 12%, transparent);opacity:1}.workbench-stage{min-width:0;transform:perspective(1800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:50% 35%;transition:transform .7s var(--ease-quiet), filter var(--duration-fast) ease;padding-top:2rem;position:sticky;top:7rem}.workbench-stage[data-pressed=true]{filter:saturate(.92)brightness(.97);transform:perspective(1800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(.987)}.workbench-stage-content{animation:workbench-stage-enter .68s var(--ease-quiet) both}.workbench-stage .project-media figcaption{justify-content:space-between;gap:1rem;display:flex}.workbench-stage .project-media-stage-portrait{min-height:clamp(38rem,52vw,51rem)}.workbench-stage .project-media-stage-portrait .project-media-image{max-height:43rem}.workbench-stage .murmur-fragment{min-height:clamp(36rem,50vw,49rem)}.workbench-stage-footer{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2rem;padding-top:1.5rem;display:grid}.workbench-stage-footer>p{max-width:36rem;color:var(--muted);font-size:.9rem}.workbench-section:not([data-in-view=true]) .project-media-image,.workbench-section:not([data-in-view=true]) .vibegrid-sequence-labels span,.workbench-section:not([data-in-view=true]) .vibegrid-sequence-track i,.workbench-section:not([data-in-view=true]) .murmur-waveform span,.workbench-section:not([data-in-view=true]) .murmur-playhead,.workbench-section:not([data-in-view=true]) .murmur-fragment-state span:last-child:before{animation-play-state:paused}.compact-archive-section{border-top:1px solid var(--line)}.compact-archive-heading{grid-template-columns:5fr 4fr 3fr;align-items:end;gap:clamp(2rem,5vw,5rem);margin-bottom:clamp(3rem,6vw,6rem);display:grid}.compact-archive-heading>div{gap:.8rem;display:grid}.compact-archive-heading h2{letter-spacing:-.055em;font-size:clamp(2.8rem,4.6vw,4.7rem);font-weight:500;line-height:1}.compact-archive-heading>p{color:var(--muted);font-size:.9rem}.compact-archive-heading>a{justify-self:end}.compact-archive-grid{border-top:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compact-archive-item{border-bottom:1px solid var(--line);isolation:isolate;grid-template-columns:2rem minmax(0,1fr) minmax(7rem,.65fr) auto;align-items:center;gap:1rem;padding:1.6rem 0;display:grid;position:relative}.compact-archive-item:nth-child(odd){padding-right:clamp(1.5rem,3vw,3rem)}.compact-archive-item:nth-child(2n){border-left:1px solid var(--line);padding-left:clamp(1.5rem,3vw,3rem)}.compact-archive-item:before{z-index:-1;background:var(--paper);content:"";transform-origin:bottom;transition:transform var(--duration-medium) var(--ease-quiet);position:absolute;inset:0;transform:scaleY(0)}.compact-archive-item:hover:before,.compact-archive-item:focus-visible:before{transform:scaleY(1)}.compact-archive-number,.compact-archive-item small{color:var(--quiet);letter-spacing:.06em;text-transform:uppercase;font-size:.67rem}.compact-archive-item strong{letter-spacing:-.025em;font-size:1.05rem;font-weight:500}.compact-archive-item i{color:var(--slate);transition:transform var(--duration-medium) var(--ease-quiet);font-style:normal}.compact-archive-item:hover i,.compact-archive-item:focus-visible i{transform:translate(.25rem,-.25rem)}.home-closing-section{padding-block:0 var(--section-space)}.home-closing-grid{grid-template-columns:7fr 5fr;padding:0;display:grid;overflow:hidden}.closing-about,.closing-contact{align-content:start;gap:1.5rem;min-height:48rem;padding:clamp(3rem,6vw,6rem);display:grid}.closing-about{background:var(--sage-wash)}.closing-contact{background:var(--ink);color:var(--paper)}.closing-about h2,.closing-contact h2{letter-spacing:-.058em;max-width:10ch;font-size:clamp(3rem,5vw,5.2rem);font-weight:500;line-height:.98}.closing-about>p:not(.eyebrow),.closing-contact>p:not(.eyebrow){max-width:40rem}.closing-lead{color:var(--ink);letter-spacing:-.025em;font-size:clamp(1.4rem,2.1vw,2.1rem);line-height:1.35}.closing-about>p:last-of-type,.closing-contact .contact-links{color:var(--muted)}.closing-contact .eyebrow,.closing-contact .contact-email,.closing-contact .contact-links a{color:var(--paper)}.closing-contact .contact-email{margin-top:auto}.lab-hero{background:var(--ink);min-height:min(50rem,100svh - 4.7rem);color:var(--paper);align-items:end;padding-block:clamp(7rem,13vw,12rem) clamp(5rem,9vw,8rem);display:grid}.lab-hero-grid{grid-template-columns:9fr 3fr;align-items:end;gap:2rem;display:grid}.lab-hero-grid>div{gap:1.5rem;display:grid}.lab-hero .eyebrow{color:color-mix(in srgb, var(--paper) 62%, var(--slate))}.lab-hero h1{letter-spacing:-.068em;max-width:11ch;font-size:clamp(4rem,7.4vw,7.8rem);font-weight:500;line-height:.92}.lab-hero-grid>p{color:#fafaf7a3;max-width:28rem;font-size:.95rem}.lab-index-section{background:var(--paper);padding-block:clamp(3rem,6vw,5rem)}.lab-index{grid-template-columns:3fr 9fr;gap:clamp(2rem,6vw,6rem);display:grid}.lab-index nav{border-top:1px solid var(--line-strong)}.lab-index a{border-bottom:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding-block:1.25rem;display:grid}.lab-index a span,.lab-index a small{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.lab-index a strong{letter-spacing:-.035em;transition:transform var(--duration-medium) var(--ease-quiet);font-size:clamp(1.25rem,2vw,1.85rem);font-weight:500}.lab-index a:hover strong,.lab-index a:focus-visible strong{transform:translate(.5rem)}.lab-study{padding-block:var(--section-space);border-top:1px solid var(--line);scroll-margin-top:4.7rem}.lab-study-routing{background:var(--stone)}.lab-study-tempo{background:var(--sage-wash)}.lab-study-measure{background:var(--paper)}.lab-study-grid{grid-template-columns:3fr 9fr;align-items:start;gap:clamp(3rem,7vw,7rem);display:grid}.lab-study-grid>header{gap:1.25rem;display:grid;position:sticky;top:8rem}.lab-study-grid>header h2{letter-spacing:-.055em;max-width:8ch;font-size:clamp(2.7rem,4.8vw,4.8rem);font-weight:500;line-height:.98}.lab-study-grid>header>p:last-child{max-width:22rem;color:var(--muted);font-size:.9rem}.routing-study,.tempo-study,.measure-study{min-width:0}.routing-study{background:var(--ink);color:var(--paper);padding:clamp(1.5rem,3vw,3rem)}.lab-control-row{flex-wrap:wrap;gap:.65rem;display:flex}.lab-control-row button,.tempo-options button{color:#fafaf794;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border:1px solid #fafaf733}.lab-control-row button{letter-spacing:.07em;text-transform:uppercase;padding:.55rem .85rem;font-size:.72rem}.lab-control-row button:hover,.lab-control-row button:focus-visible,.lab-control-row button[aria-pressed=true]{border-color:var(--paper);background:var(--paper);color:var(--ink)}.routing-map{width:100%;height:auto;margin-block:1.5rem .5rem;display:block;overflow:visible}.route-line,.route-active{fill:none;vector-effect:non-scaling-stroke}.route-line{stroke:#fafaf726;stroke-width:1px}.route-line-retry,.route-line-recovery{stroke-dasharray:3 5}.route-active{stroke:color-mix(in srgb, var(--eucalyptus) 72%, var(--paper));stroke-dasharray:1;stroke-dashoffset:1px;stroke-linecap:round;stroke-width:2px;animation:route-draw .92s var(--ease-quiet) forwards;display:none}.routing-study[data-route-state=nominal] .route-active-nominal,.routing-study[data-route-state=retry] .route-active-retry,.routing-study[data-route-state=recovery] .route-active-recovery{display:block}.route-packet{fill:var(--paper);filter:drop-shadow(0 0 7px #fafaf780);offset-distance:0%;offset-rotate:0deg;animation:route-packet-travel .92s var(--ease-quiet) forwards}.routing-study[data-route-state=nominal] .route-packet{offset-path:path("M76 178H242C280 178 286 112 326 112H452C494 112 500 178 542 178H686")}.routing-study[data-route-state=retry] .route-packet{offset-path:path("M76 178H242C280 178 286 112 326 112H448C520 24 294 8 246 102C218 158 258 210 326 208C388 206 448 180 448 112C488 112 500 178 542 178H686")}.routing-study[data-route-state=recovery] .route-packet{offset-path:path("M76 178H242C280 178 286 112 326 112H452C494 112 500 178 542 178C502 178 494 268 448 268H326C286 268 278 214 242 214C282 214 292 178 326 178H686")}.routing-result{border-top:1px solid #fafaf72e;grid-template-columns:1fr 2fr;gap:.4rem 2rem;padding-top:1.5rem;display:grid}.routing-result span{color:#fafaf775;letter-spacing:.08em;text-transform:uppercase;grid-row:1/3;font-size:.65rem}.routing-result strong{font-size:1.2rem;font-weight:500}.routing-result p{color:#fafaf794;max-width:36rem;font-size:.83rem}.tempo-study{gap:2rem;display:grid}.tempo-options{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tempo-options button{border-color:color-mix(in srgb, var(--line-strong) 85%, transparent);color:var(--muted);justify-content:space-between;gap:1rem;padding:1rem;display:flex}.tempo-options button+button{border-left:0}.tempo-options button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.tempo-options small{color:var(--quiet);font-size:.7rem}.tempo-stage{--tempo-duration:.48s;border:1px solid var(--line-strong);background:var(--stone);min-height:26rem;position:relative;overflow:hidden}.tempo-study[data-tempo=response] .tempo-stage{--tempo-duration:.18s}.tempo-study[data-tempo=spatial] .tempo-stage{--tempo-duration:.92s}.tempo-track{background:var(--line-strong);height:1px;position:absolute;bottom:4rem;left:3rem;right:3rem}.tempo-track:before,.tempo-track:after{background:var(--line-strong);content:"";border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:-.25rem}.tempo-track:before{left:0}.tempo-track:after{right:0}.tempo-object{aspect-ratio:1;border:1px solid var(--slate);background:var(--paper);transform-origin:50%;width:clamp(5rem,9vw,8rem);animation:tempo-cross var(--tempo-duration) var(--ease-quiet) both;position:absolute;bottom:3.25rem;left:3rem}.tempo-object:before,.tempo-object:after{content:"";position:absolute}.tempo-object:before{border:1px solid var(--line-strong);border-radius:50%;inset:19%}.tempo-object:after{z-index:-1;background:var(--line);height:1px;top:50%;left:50%;right:-45vw}.tempo-object i{background:var(--slate);border-radius:50%;width:.56rem;height:.56rem;position:absolute;inset:calc(50% - .28rem)}.tempo-replay{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;position:absolute;top:1rem;right:1rem}.tempo-readout{border-top:1px solid var(--line-strong);justify-content:space-between;align-items:baseline;gap:2rem;padding-top:1rem;display:flex}.tempo-readout strong{letter-spacing:-.05em;font-size:clamp(2rem,4vw,4rem);font-weight:500}.tempo-readout span{color:var(--muted);font-size:.85rem}.measure-study{gap:clamp(4rem,8vw,8rem);display:grid}.measure-control{grid-template-columns:1fr auto;align-items:center;gap:.6rem 2rem;display:grid}.measure-control label,.measure-control output,.measure-control>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem}.measure-control output{color:var(--slate)}.measure-control input{width:100%;height:1.6rem;accent-color:var(--slate);background:0 0;grid-column:1/-1;padding:0}.measure-control>span:last-child{justify-self:end}.measure-copy{width:min(100%, var(--reading-measure));transition:width .52s var(--ease-quiet)}.measure-kicker{color:var(--slate);font-family:var(--font-serif);margin-bottom:1.5rem;font-style:italic}.measure-copy h3{letter-spacing:-.058em;margin-bottom:2rem;font-size:clamp(2.7rem,5vw,5.4rem);font-weight:500;line-height:.98}.measure-copy>p:last-child{max-width:58ch;color:var(--muted);font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.68}.about-page-hero{padding-block:clamp(7rem,13vw,13rem) clamp(5rem,9vw,9rem)}.about-page-hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem;display:grid}.about-page-hero-grid>.eyebrow{grid-column:1/4;padding-top:.7rem}.about-page-hero h1{letter-spacing:-.066em;grid-column:4/-1;max-width:12ch;font-size:clamp(4rem,7vw,7.5rem);font-weight:500;line-height:.94}.about-page-lead{max-width:43rem;color:var(--muted);letter-spacing:-.02em;grid-column:7/-1;margin-top:2rem;font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.52}.about-page-body{border-top:1px solid var(--line);background:var(--paper)}.about-page-grid,.about-record-grid{grid-template-columns:4fr 8fr;gap:clamp(3rem,8vw,8rem);display:grid}.about-page-grid aside{align-content:start;gap:1rem;display:grid}.about-page-grid aside>p:last-child{max-width:20rem;font-family:var(--font-serif);font-size:1.15rem;font-style:italic}.about-page-copy{letter-spacing:-.038em;gap:2.5rem;max-width:60rem;font-size:clamp(1.75rem,3.1vw,3.15rem);line-height:1.22;display:grid}.about-page-copy p:last-child{color:var(--muted)}.about-principles{background:var(--sage-wash)}.about-section-heading{grid-template-columns:4fr 8fr;align-items:end;gap:clamp(3rem,8vw,8rem);margin-bottom:clamp(4rem,8vw,8rem);display:grid}.about-section-heading h2,.about-record h2,.about-page-contact h2{letter-spacing:-.06em;max-width:9ch;font-size:clamp(3rem,5.5vw,5.8rem);font-weight:500;line-height:.96}.about-principle-grid{border-top:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));margin-left:calc(33.333% + clamp(1rem,4vw,4rem));display:grid}.about-principle-grid article{border-bottom:1px solid var(--line-strong);align-content:start;gap:1.2rem;min-height:20rem;padding:2rem 2rem 2rem 0;display:grid}.about-principle-grid article+article{border-left:1px solid var(--line-strong);padding-left:2rem}.about-principle-grid article>span{color:var(--slate);letter-spacing:.08em;font-size:.68rem}.about-principle-grid h3{letter-spacing:-.045em;max-width:10ch;font-size:clamp(1.8rem,3vw,3rem);font-weight:500;line-height:1}.about-principle-grid p{max-width:28rem;color:var(--muted);font-size:.94rem}.about-record{background:var(--stone)}.about-record header{align-content:start;gap:1.2rem;display:grid}.about-record dl{border-top:1px solid var(--line-strong)}.about-record dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(7rem,2fr) 6fr;gap:2rem;padding-block:1.25rem;display:grid}.about-record dt{color:var(--slate);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem}.about-record dd{color:var(--muted)}.about-page-contact{padding-block:var(--section-space);background:var(--ink);color:var(--paper)}.about-page-contact-grid{grid-template-columns:3fr 7fr 2fr;align-items:end;gap:2rem;display:grid}.about-page-contact .eyebrow{color:#fafaf78f;align-self:start}.about-page-contact h2{max-width:11ch}.about-page-contact .contact-email,.about-page-contact .quiet-link{color:var(--paper)}.about-page-contact .quiet-link{grid-column:3}@keyframes workbench-stage-enter{0%{opacity:.25;clip-path:inset(2.5%);transform:translateY(1.75rem)scale(.985)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes route-draw{to{stroke-dashoffset:0}}@keyframes route-packet-travel{0%{opacity:0;offset-distance:0%}8%{opacity:1}to{opacity:1;offset-distance:100%}}@keyframes tempo-cross{0%{opacity:.45;transform:translate(0)scale(.92)}to{opacity:1;transform:translate(calc(min(58vw,48rem) - clamp(5rem,9vw,8rem)))scale(1)}}@media (max-width:1100px){.workbench-heading h2{grid-column:4/9}.workbench-heading>p{grid-column:9/-1}.compact-archive-item{grid-template-columns:2rem minmax(0,1fr) auto}.compact-archive-item small{display:none}.about-page-contact-grid{grid-template-columns:3fr 6fr 3fr}}@media (max-width:860px){.workbench-heading,.lab-hero-grid,.lab-index,.lab-study-grid,.about-page-hero-grid,.about-page-grid,.about-section-heading,.about-record-grid,.about-page-contact-grid{grid-template-columns:1fr}.workbench-heading>div,.workbench-heading h2,.workbench-heading>p,.about-page-hero-grid>.eyebrow,.about-page-hero h1,.about-page-lead,.about-page-contact .quiet-link{grid-column:1}.workbench-heading>div{width:min(100%,20rem)}.workbench-heading h2{margin-top:1.5rem}.workbench-heading>p{margin-top:.5rem}.project-workbench{grid-template-columns:1fr}.workbench-stage{padding-top:0;position:static}.compact-archive-heading{grid-template-columns:1fr 1fr}.compact-archive-heading>a{justify-self:start}.home-closing-grid{grid-template-columns:1fr}.closing-about,.closing-contact{min-height:40rem}.lab-hero-grid,.lab-study-grid,.about-page-grid,.about-record-grid{gap:3rem}.lab-hero h1,.about-page-hero h1{max-width:12ch}.lab-hero-grid>p{margin-left:33.333%}.lab-index{gap:2rem}.lab-index nav{margin-left:25%}.lab-study-grid>header{grid-template-columns:1fr 1fr;position:static}.lab-study-grid>header .eyebrow{grid-column:1/-1}.about-page-lead{margin-left:33.333%}.about-principle-grid{margin-left:0}.about-page-contact-grid{gap:2rem}.about-page-contact .contact-email,.about-page-contact .quiet-link{grid-column:1}}@media (max-width:760px){.nav-shell{min-height:4.5rem}.brand small{display:none}.nav{gap:clamp(.7rem,3.5vw,1.2rem)}.nav-link{font-size:.75rem}.project-workbench{gap:3rem;margin-top:4rem}.workbench-control{grid-template-columns:2rem minmax(0,1fr) 1rem}.workbench-control:hover,.workbench-control:focus-visible,.workbench-control.is-active{padding-inline:.7rem}.workbench-stage .project-media-stage-portrait{min-height:35rem}.workbench-stage .project-media-stage-portrait .project-media-image{max-height:31rem}.workbench-stage .murmur-fragment{min-height:34rem}.workbench-stage-footer,.compact-archive-heading,.compact-archive-grid{grid-template-columns:1fr}.compact-archive-heading{gap:1.5rem}.compact-archive-heading>div{gap:.7rem}.compact-archive-item:nth-child(odd),.compact-archive-item:nth-child(2n){border-left:0;padding-inline:0}.compact-archive-item{grid-template-columns:2rem minmax(0,1fr) auto}.closing-about,.closing-contact{min-height:0;padding:3rem 1.5rem}.closing-contact{min-height:35rem}.lab-hero{min-height:40rem;padding-top:7rem}.lab-hero h1{font-size:clamp(3.5rem,15vw,5.4rem)}.lab-hero-grid>p,.lab-index nav,.about-page-lead{margin-left:0}.lab-study-grid>header{grid-template-columns:1fr}.lab-study-grid>header .eyebrow{grid-column:1}.routing-study{margin-inline:calc(var(--gutter) * -.35);padding:1rem}.routing-map{min-height:18rem}.routing-result{grid-template-columns:1fr}.routing-result span{grid-row:auto}.tempo-options{grid-template-columns:1fr}.tempo-options button+button{border-top:0;border-left:1px solid var(--line-strong)}.tempo-stage{min-height:21rem}.tempo-track{left:1.5rem;right:1.5rem}.tempo-object{left:1.5rem}.measure-copy{width:100%}.about-page-hero h1{font-size:clamp(3.5rem,14.5vw,5.1rem)}.about-page-copy{font-size:clamp(1.65rem,7vw,2.3rem)}.about-principle-grid{grid-template-columns:1fr}.about-principle-grid article{min-height:15rem}.about-principle-grid article+article{border-left:0;padding-left:0}.about-record dl>div{grid-template-columns:1fr;gap:.45rem}}@media (max-width:430px){.brand{max-width:4.5rem;line-height:1.05}.nav{gap:.65rem}.nav-link{font-size:.68rem}.lab-control-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.lab-control-row button{padding-inline:.35rem;font-size:.61rem}.routing-map{width:calc(100% + 1.5rem);margin-inline:-.75rem}}@media (prefers-reduced-motion:reduce){.workbench-stage-content,.route-active,.route-packet,.tempo-object,.measure-copy{transition:none!important;animation:none!important}.route-active{stroke-dashoffset:0}.route-packet{opacity:1;offset-distance:100%}.tempo-object{transform:translate(calc(min(58vw,48rem) - clamp(5rem,9vw,8rem)))}}.home-hero-grid{align-items:end}.home-hero-copy{grid-column:1/9}.home-hero h1{max-width:12.5ch;font-size:clamp(4.4rem,7.25vw,7.75rem);line-height:.89}.hero-practice{grid-column:9/-1;align-content:end;align-self:stretch;gap:1.4rem;min-width:0;padding-bottom:.4rem;display:grid}.hero-practice-meta,.hero-practice li,.hero-practice>p{border-top:1px solid var(--line-strong)}.hero-practice-meta{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;padding-top:.7rem;font-size:.62rem;display:flex}.hero-practice ol{list-style:none}.hero-practice li{grid-template-columns:2rem minmax(0,1fr);gap:1rem;padding-block:1rem;display:grid}.hero-practice li>span{color:var(--quiet);letter-spacing:.08em;font-size:.63rem}.hero-practice li div{gap:.2rem;display:grid}.hero-practice li strong{letter-spacing:-.025em;font-size:1rem;font-weight:500}.hero-practice li small{color:var(--muted);font-size:.72rem}.hero-practice>p{color:var(--slate);font-family:var(--font-serif);padding-top:.75rem;font-size:.9rem;font-style:italic}.home-shell[data-motion=ready] .hero-practice{opacity:0;transform:translateY(1.5rem)}.home-shell[data-motion=active] .hero-practice{animation:quiet-enter .98s .42s var(--ease-quiet) both}.workbench-control>i{width:auto;height:auto;color:var(--slate);opacity:0;transition:opacity var(--duration-fast) ease, transform var(--duration-medium) var(--ease-quiet);border:0;border-radius:0;font-size:.9rem;font-style:normal;transform:translate(-.35rem,.35rem)}.workbench-control.is-active>i,.workbench-control:hover>i,.workbench-control:focus-visible>i{box-shadow:none;opacity:1;background:0 0;transform:none}.working-principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:auto;padding-top:3rem;display:grid}.working-principles>div{border-top:1px solid var(--line-strong);align-content:start;gap:.6rem;padding-top:.8rem;display:grid}.working-principles dt{color:var(--slate);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.working-principles dd{max-width:12ch;color:var(--muted);font-size:.82rem;line-height:1.45}.contact-mark{border-top:1px solid #fafaf747;justify-content:space-between;align-items:end;margin-top:auto;padding-top:1.25rem;display:flex;overflow:hidden}.contact-mark span{color:#fafaf785;letter-spacing:.1em;text-transform:uppercase;font-size:.66rem}.contact-mark i{letter-spacing:-.08em;transition:transform .7s var(--ease-quiet);font-size:clamp(6rem,13vw,13rem);font-style:normal;font-weight:300;line-height:.68;transform:translate(.08em,.08em)}.closing-contact:hover .contact-mark i{transform:translate(.16em,-.02em)}.project-portrait{min-height:clamp(30rem,48vw,47rem);overflow:hidden}.project-portrait>header{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.64rem;display:flex}.project-portrait-product{background:var(--sage-wash);grid-template-rows:auto 1fr auto;gap:3rem;padding:clamp(2rem,5vw,5rem);display:grid}.project-portrait-product>header{border-bottom:1px solid var(--line-strong);color:var(--quiet);padding-bottom:.8rem}.project-portrait-product-title{align-content:center;gap:1rem;display:grid}.project-portrait-product-title>strong{letter-spacing:-.065em;max-width:10ch;font-size:clamp(3.2rem,7vw,7.4rem);font-weight:500;line-height:.88}.project-portrait-product-title>small{max-width:25rem;color:var(--slate);font-family:var(--font-serif);font-size:clamp(1rem,1.6vw,1.35rem);font-style:italic}.project-portrait-product ol{border-top:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.project-portrait-product li{grid-template-columns:1.8rem minmax(0,1fr);gap:.7rem;padding:1rem 1.25rem 0 0;display:grid}.project-portrait-product li+li{border-left:1px solid var(--line-strong);padding-left:1.25rem}.project-portrait-product li>span,.project-portrait-product li strong{color:var(--slate);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:500}.project-portrait-product li div{gap:.4rem;display:grid}.project-portrait-product li p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.74rem;line-height:1.42;display:-webkit-box;overflow:hidden}.project-portrait-data{background:var(--ink);color:var(--paper);grid-template-rows:auto auto 1fr auto;grid-template-columns:4fr 7fr;gap:2rem clamp(2rem,5vw,5rem);padding:clamp(2rem,5vw,5rem);display:grid}.project-portrait-data>header{color:#fafaf78a;border-bottom:1px solid #fafaf738;grid-column:1/-1;padding-bottom:.8rem}.project-portrait-data>strong{letter-spacing:-.065em;grid-row:2/4;align-self:end;max-width:7ch;font-size:clamp(3.1rem,6vw,6.4rem);font-weight:500;line-height:.9}.project-portrait-data dl{align-self:end}.project-portrait-data dl>div{border-top:1px solid #fafaf72e;grid-template-columns:minmax(7rem,.65fr) 1.35fr;gap:1.25rem;padding-block:1rem;display:grid}.project-portrait-data dt{color:#aeb9c1;letter-spacing:.07em;text-transform:uppercase;font-size:.62rem}.project-portrait-data dd{color:#fafaf7a8;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.45;display:-webkit-box;overflow:hidden}.project-portrait-data>footer{color:#fafaf766;font-family:var(--font-serif);text-align:center;border-top:1px solid #fafaf738;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:.8rem;font-size:.8rem;font-style:italic;display:grid}.project-portrait-ml{background:var(--blue-wash);grid-template-rows:auto 1fr auto auto;gap:2rem;padding:clamp(2rem,5vw,5rem);display:grid;position:relative}.project-portrait-ml>header,.project-portrait-ml>footer{z-index:1;border-bottom:1px solid var(--line-strong);color:var(--quiet);padding-bottom:.8rem;position:relative}.project-portrait-ml-title{align-content:center;display:grid;position:relative}.project-portrait-ml-title strong{z-index:1;letter-spacing:-.065em;max-width:9ch;font-size:clamp(3.2rem,6.5vw,7rem);font-weight:500;line-height:.89;position:relative}.project-portrait-ml-title>span{color:color-mix(in srgb, var(--slate) 9%, transparent);letter-spacing:-.09em;font-size:clamp(8rem,21vw,23rem);font-weight:600;line-height:.7;position:absolute;right:-.12em}.project-portrait-matrix{z-index:1;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.project-portrait-matrix>div{min-height:8rem;padding:1rem}.project-portrait-matrix>div+div{border-left:1px solid var(--line-strong)}.project-portrait-matrix span{color:var(--slate);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem}.project-portrait-matrix p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:1.2rem;font-size:.73rem;line-height:1.45;display:-webkit-box;overflow:hidden}.project-portrait-ml>footer{font-family:var(--font-serif);border:0;font-size:.8rem;font-style:italic}.route-block rect{fill:var(--ink);stroke:#fafaf752;stroke-width:1px;vector-effect:non-scaling-stroke}.route-block text{fill:var(--paper);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:500}.route-block .route-block-detail{fill:#fafaf775;font-size:9px;font-weight:400}.route-block-commit rect,.route-block-output rect{stroke:color-mix(in srgb, var(--eucalyptus) 82%, var(--paper))}.lab-study-field{background:#dfe3dd}.spatial-field-loader,.constraint-field-study{min-width:0}.spatial-field-poster,.constraint-field-stage{background:var(--ink);min-height:clamp(28rem,48vw,43rem)}.spatial-field-poster{color:var(--paper);align-content:end;gap:.5rem;padding:clamp(2rem,4vw,4rem);display:grid}.spatial-field-poster span,.constraint-field-caption{color:#fafaf780;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem}.spatial-field-poster strong{letter-spacing:-.055em;max-width:12ch;font-size:clamp(2.5rem,5vw,5rem);font-weight:500;line-height:.95}.constraint-field-stage{cursor:crosshair;position:relative;overflow:hidden}.constraint-field-stage canvas,.constraint-field-fallback{width:100%;height:100%;position:absolute;inset:0}.constraint-field-stage[data-supported=false] canvas{display:none}.constraint-field-caption{pointer-events:none;border-top:1px solid #fafaf733;justify-content:flex-end;padding-top:.65rem;display:flex;position:absolute;bottom:1.25rem;left:1.5rem;right:1.5rem}.constraint-field-fallback{place-items:center;display:none}.constraint-field-stage[data-supported=false] .constraint-field-fallback{display:grid}.constraint-field-fallback i{clip-path:polygon(0 38%,55% 0,49% 100%,0 76%);width:min(72%,44rem);height:46%;transition:transform .82s var(--ease-quiet);background:#aeb8af;position:absolute}.constraint-field-fallback i:nth-child(2){clip-path:polygon(55% 0,100% 27%,86% 82%,49% 100%);background:#77887d}.constraint-field-fallback i:nth-child(3){clip-path:polygon(100% 27%,100% 72%,58% 100%,86% 82%);background:#4d5d55}.constraint-field-study[data-mode=pressure] .constraint-field-fallback i:first-child{transform:translate(-2%,4%)rotate(-3deg)}.constraint-field-study[data-mode=pressure] .constraint-field-fallback i:nth-child(2){transform:translateY(-4%)scale(1.03)}.constraint-field-study[data-mode=pressure] .constraint-field-fallback i:nth-child(3){transform:translate(3%,4%)rotate(2deg)}.constraint-field-study[data-mode=release] .constraint-field-fallback i:first-child{transform:translate(-5%)rotate(-1deg)}.constraint-field-study[data-mode=release] .constraint-field-fallback i:nth-child(2){transform:scaleX(.92)}.constraint-field-study[data-mode=release] .constraint-field-fallback i:nth-child(3){transform:translate(5%)}.constraint-field-controls{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.constraint-field-controls button{border:1px solid var(--line-strong);text-align:left;min-height:8.5rem;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;border-top:0;gap:.45rem;padding:1rem;display:grid}.constraint-field-controls button+button{border-left:0}.constraint-field-controls button span{font-size:.82rem;font-weight:500}.constraint-field-controls button small{color:var(--muted);font-size:.7rem;line-height:1.45}.constraint-field-controls button:hover,.constraint-field-controls button:focus-visible,.constraint-field-controls button[aria-pressed=true]{background:var(--paper)}@media (min-width:861px){.hero-title-line>span{white-space:nowrap}}@media (max-width:1100px){.home-hero-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.home-hero-copy{grid-column:1/9}.hero-practice{grid-column:9/-1}.hero-practice li{grid-template-columns:1.5rem minmax(0,1fr);gap:.6rem}}@media (max-width:980px){.home-hero-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.home-hero-copy{grid-column:1/6}.hero-practice{grid-column:6/-1}}@media (max-width:860px){.home-hero-grid{grid-template-columns:1fr;align-items:start;gap:4rem}.home-hero-copy,.hero-practice{grid-column:1}.hero-practice{justify-self:end;width:min(100%,33rem)}.project-portrait-data{grid-template-columns:1fr}.project-portrait-data>strong{grid-row:auto}}@media (max-width:760px){.home-hero{min-height:auto}.home-hero-grid{gap:4.5rem;padding-block:6rem 4rem}.home-hero h1{max-width:9.5ch;font-size:clamp(4rem,19vw,6rem)}.working-principles,.project-portrait-product ol,.project-portrait-matrix,.constraint-field-controls{grid-template-columns:1fr}.project-portrait-product,.project-portrait-data,.project-portrait-ml{min-height:37rem;padding:1.5rem}.project-portrait-product li+li,.project-portrait-matrix>div+div,.constraint-field-controls button+button{border-top:1px solid var(--line-strong);border-left:0;padding-left:0}.project-portrait-product li,.project-portrait-matrix>div{min-height:0;padding-block:.85rem}.project-portrait-data dl>div{grid-template-columns:1fr;gap:.45rem}.project-portrait-data>footer{font-size:.7rem}.project-portrait-ml-title>span{font-size:35vw}.spatial-field-poster,.constraint-field-stage{min-height:26rem}.constraint-field-controls button{min-height:0}}@media (prefers-reduced-motion:reduce){.hero-practice,.contact-mark i{transition:none!important;animation:none!important;transform:none!important}}
.archive-result-count{color:var(--muted);margin-block:0 1.5rem;font-size:.8rem}[data-project-category][hidden]{display:none!important}html:has(#daybreak[data-motion=still]){scroll-behavior:auto}.site-header[data-daybreak=true],html[data-page-scrolled] .site-header[data-daybreak=true]{color:#eeeade;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:#080f22;border-color:#dde4f21f;transition:none}.site-header[data-daybreak=true] .nav-shell{width:87.5%;max-width:none;min-height:4.5rem}.site-header[data-daybreak=true] .brand{letter-spacing:-.025em;font-size:.86rem;font-weight:400}.site-header[data-daybreak=true] .brand small{color:#aebad1;letter-spacing:.12em;margin-left:1.5rem;font-size:.75rem}.site-header[data-daybreak=true] a:focus-visible{outline-offset:5px;outline:3px solid #eeeade}.site-header[data-daybreak=true] .site-reading-progress{display:none}body:has(#daybreak)>.site-footer{display:none}body:has(#daybreak) .route-frame{animation:none}body:has(#daybreak){background:#080f22}@media (max-width:760px){.site-header[data-daybreak=true] .nav-shell{gap:1rem;width:88%;min-height:4rem}.site-header[data-daybreak=true] .brand{font-size:.76rem}.site-header[data-daybreak=true] .brand small{display:none}.site-header[data-daybreak=true] .nav{gap:.9rem}.site-header[data-daybreak=true] .nav-link{font-size:.75rem}}@media (max-width:360px){.site-header[data-daybreak=true] .nav{gap:.65rem}.site-header[data-daybreak=true] .brand,.site-header[data-daybreak=true] .nav-link{font-size:.75rem}}@media print{.site-header[data-daybreak=true]{display:none}}html:has(#daybreak){scroll-behavior:auto;--dawn-ink:#f7f0e3;--dawn-muted:#d3dce2;scroll-padding-top:0}body:has(#daybreak) .site-header[data-daybreak=true]{z-index:40;color:var(--dawn-ink);background:0 0;border-color:#0000;position:fixed;inset:0 0 auto}.site-header[data-daybreak=true] .nav-shell{border-bottom:1px solid color-mix(in srgb, var(--dawn-ink) 20%, transparent);min-height:6rem}.site-header[data-daybreak=true] .brand,.site-header[data-daybreak=true] .nav-link{color:var(--dawn-ink)}.site-header[data-daybreak=true] .brand{letter-spacing:.3em;font-family:Georgia,serif;font-size:1.3rem}.site-header[data-daybreak=true] .brand small{color:var(--dawn-muted);font-family:var(--font-sans);letter-spacing:.13em;font-size:.7rem}.site-header[data-daybreak=true] .nav-link{font-size:.875rem}.site-header[data-daybreak=true] a:focus-visible{outline-color:var(--dawn-ink)}.site-header[data-daybreak=true] .brand,.site-header[data-daybreak=true] .brand small,.site-header[data-daybreak=true] .nav-link{transition:color .5s}html:has(#daybreak[data-motion=still]) .site-header[data-daybreak=true] *{transition:none}body:has(dialog[open]){overflow:hidden}@media (max-width:700px){.site-header[data-daybreak=true] .nav-shell{gap:.8rem;width:86%;min-height:4.5rem}.site-header[data-daybreak=true] .brand{letter-spacing:.18em;font-size:1rem}.site-header[data-daybreak=true] .nav{gap:.75rem}.site-header[data-daybreak=true] .nav-link{font-size:.75rem}}
:root{--stone:#e9ece0;--paper:#f5f5ec;--ink:#14233f;--muted:#33405c;--quiet:#33405c;--line:#14233f2e;--line-strong:#14233f55;--slate:#7a1d0e;--eucalyptus:#e2452c;--sage-wash:#d7e5d9;--blue-wash:#cbdde6;--sindoor:#e2452c;--t-display:clamp(2rem, 3vw, 3rem);--t-title:clamp(1.5rem, 2.2vw, 2rem);--t-subtitle:clamp(1rem, 1.2vw, 1.125rem);--t-body:.9375rem;--t-meta:.72rem;--t-micro:.62rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--ground-h:max(4.5vh, 2.75rem)}body{font-size:var(--t-body)}.home-hero h1,.page-intro h1,.project-intro h1,.lab-hero h1,.about-page-hero h1{font-family:var(--font-sans);font-weight:400;font-size:var(--t-display);letter-spacing:-.035em;text-wrap:balance;max-width:25ch;line-height:1.2}.quiet-section-heading h2,.archive-preview-section h2,.featured-project-copy h3,.section-header h2,.project-narrative-section h2,.project-interaction-section h2,.failure-section h2,.about-section h2,.contact-section h2,.engineering-section h2,.workbench-heading h2,.compact-archive-heading h2,.closing-about h2,.closing-contact h2,.lab-study-grid>header h2,.measure-copy h3,.about-section-heading h2,.about-record h2,.about-page-copy,.murmur-fragment blockquote,.tempo-readout strong,.spatial-field-poster strong,.project-portrait-product-title>strong,.project-portrait-data>strong,.project-portrait-ml-title strong{font-family:var(--font-sans);font-weight:400;font-size:var(--t-title);letter-spacing:-.045em;line-height:1}.project-detail-card h3,.project-card h3,.resume-card h2,.project-reflection h2,.about-principle-grid h3,.lab-index a strong,.workbench-control-copy strong,.technical-proof summary>span:last-child{font-family:var(--font-sans);font-weight:400;font-size:calc(var(--t-subtitle) * 1.2);letter-spacing:-.005em;line-height:1.1}.project-portrait-ml-title>span,.contact-mark i{font-family:var(--font-sans);font-weight:400}.home-intro,.project-intro .lead,.about-lead,.about-page-lead,.closing-lead{font-size:var(--t-subtitle);letter-spacing:0;line-height:1.45}.project-prose p,.interaction-list p,.measure-copy>p:last-child{font-size:var(--t-body)}.eyebrow,.filter-chip,.primary-text-link,.quiet-link,.contact-email,.lens-search,.workbench-stage-footer>p,.compact-archive-heading>p,.lab-study-grid>header>p:last-child,.project-portrait-data>footer,.project-portrait-ml>footer,.tempo-options small,.constraint-field-controls button small{font-size:var(--t-meta)}.eyebrow{font-family:var(--font-mono);color:var(--slate);letter-spacing:.08em;font-weight:500}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--stone);border-bottom-color:var(--line)}.nav-link.is-active:after,.nav-link:hover:after{background:var(--sindoor)}.site-reading-progress{display:none}body:has(.site-ground) main{padding-bottom:calc(var(--ground-h) + var(--s-6))}body:has(.site-ground) .site-footer{padding-bottom:calc(var(--ground-h) + var(--s-6))}body:has(.site-ground) .site-footer{border-top:1px solid var(--line)}.site-ground{height:var(--ground-h);background:var(--stone);border-top:3px solid var(--sindoor);z-index:40;position:fixed;bottom:0;left:0;right:0}.site-ground:before{content:"";background:var(--ink);width:100%;height:3px;transform:scaleX(var(--site-progress,0));transform-origin:0;position:absolute;top:-3px;left:0}.site-measure{grid-template-columns:repeat(6,1fr);align-items:stretch;display:grid;position:absolute;inset:0 6.25%}.site-measure a{align-items:center;gap:var(--s-2);color:var(--muted);font-family:var(--font-sans);font-size:var(--t-meta);letter-spacing:.11em;text-transform:uppercase;min-width:0;padding-inline-end:var(--s-2);text-decoration:none;display:flex;position:relative}.site-measure a:before{content:"";background:var(--line-strong);width:1px;height:.45rem;position:absolute;top:0;left:0}.site-measure a[aria-current]{color:var(--ink)}.site-measure a[aria-current]:before{background:var(--sindoor);height:.8rem}.site-measure b{font-variant-numeric:tabular-nums;font-weight:500}.site-measure span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:700px){.site-measure{inset:0 7%}.site-measure span{display:none}}@media print{.site-ground{display:none}}:root{--gutter:max(1.25rem, 6.25vw);--container:96rem;--section-space:var(--s-8)}.page-intro,.project-intro.section{padding-top:var(--s-8);padding-bottom:var(--s-7)}.page-intro-shell,.page-intro-narrow,.project-intro-copy{gap:var(--s-5);max-width:58rem}.page-intro p:not(.eyebrow),.project-intro .lead{max-width:52ch}.project-case-media-section{padding-bottom:var(--s-8)}.project-media-stage{background:var(--paper);border:1px solid var(--line);transition:none}.project-media-stage-portrait,.project-media-case-study.project-media-gathrly .project-media-stage-portrait{min-height:0;padding:var(--s-6)}.project-media-stage-portrait .project-media-image,.project-media-case-study.project-media-gathrly .project-media-image{width:auto;height:min(64vh,40rem);max-height:none}.project-media-stage-landscape{padding:var(--s-4);background:#0e1733}.project-media figcaption{margin-top:var(--s-3);font-size:var(--t-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.project-narrative-section h2,.project-interaction-section h2,.failure-section h2,.lab-study-grid>header h2,.quiet-section-heading h2,.about-section-heading h2,.engineering-section h2{text-wrap:balance;max-width:24ch}.project-narrative-grid header,.project-interaction-grid header,.lab-study-grid>header{gap:var(--s-4)}.engineering-section,.failure-section,.reflection-section,.technical-proof-section{padding-block:var(--s-8)}@media (min-width:981px){.project-narrative-grid,.project-interaction-grid{gap:var(--s-8);grid-template-columns:5fr 7fr}.lab-study-grid{gap:var(--s-8);grid-template-columns:4fr 8fr}.quiet-section-heading,.about-page-grid,.about-section-heading{gap:var(--s-8);grid-template-columns:5fr 7fr}.engineering-grid,.reflection-grid{gap:var(--s-8)}.lab-hero-grid{gap:var(--s-7);grid-template-columns:8fr 4fr}}.about-page-hero-grid{gap:var(--s-5);grid-template-columns:1fr;max-width:58rem}.about-page-hero-grid .eyebrow,.about-page-hero-grid h1,.about-page-hero-grid .about-page-lead,.about-page-hero-grid>*{grid-column:1;padding-top:0}.about-page-lead{max-width:52ch}.about-page-body,.about-principles,.about-record{padding-block:var(--s-8)}.about-page-contact{padding-block:var(--s-8);background:var(--ink);color:var(--stone)}.about-page-contact-grid{gap:var(--s-5);grid-template-columns:1fr;align-items:start;max-width:58rem}.about-page-contact .eyebrow{color:#ccd2e2}.about-page-contact h2{max-width:16ch;font-family:var(--font-sans);font-weight:400;font-size:var(--t-display);letter-spacing:-.04em;text-wrap:balance;line-height:1.02}.about-page-contact .quiet-link{grid-column:auto}.about-page-contact .contact-email,.about-page-contact .quiet-link{color:var(--stone)}.closing-contact,.closing-about{min-height:0;padding:var(--s-8) var(--s-6)}.closing-contact h2,.closing-about h2{max-width:16ch}.lab-hero{min-height:0;padding-block:var(--s-8)}.lab-hero h1{max-width:16ch}.lab-index-section{padding-block:var(--s-7)}.lab-study{padding-block:var(--s-8)}.section-compact-top{padding-top:var(--s-6)}.projects-toolbar{margin-bottom:var(--s-6)}
:root:has(#context-portfolio,#quiet-portfolio,#quiet-page){--ink:#111;--charcoal:#2a2a2a;--paper:#f7f4ef;--mist:#efe9e2;--berry:#8f4b52;--rose:#bc7a7b;--terracotta:#d99886;--apricot:#ebc9b4;--dawn:#f6e7de;--rule:#1111111f;--rule-strong:#1111113d;--text-muted:#1111118a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--context-font:"Helvetica Neue", "Neue Haas Grotesk Text Pro", Arial, sans-serif;--context-gutter:clamp(24px, 4.8vw, 72px);scroll-padding-top:24px}body:has(#context-portfolio,#quiet-portfolio,#quiet-page){background:var(--paper);color:var(--ink);font-family:var(--context-font)}body:has(#context-portfolio,#quiet-portfolio,#quiet-page) .route-frame{animation:none}body:has(#context-portfolio,#quiet-portfolio,#quiet-page) :where(a,button,summary):focus-visible{outline:2px solid var(--ink);outline-offset:5px}body:has(#context-portfolio,#quiet-portfolio,#quiet-page) .skip-link{background:var(--paper);color:var(--ink)}.context-container{width:100%;max-width:1600px;padding-inline:var(--context-gutter);margin-inline:auto}.context-header{z-index:5;position:absolute;inset:0 0 auto}.context-navigation{justify-content:space-between;align-items:center;gap:32px;min-height:96px;display:flex}.context-wordmark{letter-spacing:.22em;text-transform:uppercase;font-size:12px;font-weight:600}.context-navigation nav{gap:clamp(24px,3.6vw,56px);font-size:12px;display:flex}.context-navigation nav a{position:relative}.context-navigation nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .24s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.context-navigation nav a:hover:after,.context-navigation nav a:focus-visible:after{transform:scaleX(1)}body:has(#context-portfolio)>.site-footer{background:var(--paper);border:0;padding:0}body:has(#context-portfolio) .footer-shell{width:100%;max-width:1600px;padding:32px var(--context-gutter) 48px;min-height:0;color:var(--text-muted);font-family:var(--context-font);letter-spacing:.14em;text-transform:uppercase;font-size:10px}body:has(#context-portfolio) .footer-shell p{font-size:inherit}body:has(#context-portfolio) .footer-shell nav{font-size:inherit;gap:24px}body:has(#context-portfolio) .footer-shell a{color:var(--ink)}@media (max-width:600px){.context-navigation{flex-wrap:wrap;align-content:center;gap:24px;min-height:112px}.context-wordmark{width:100%;font-size:11px}.context-navigation nav{justify-content:space-between;width:100%}body:has(#context-portfolio) .footer-shell{align-items:flex-start;gap:24px;padding-block:32px}}@media (prefers-reduced-motion:reduce){:root:has(#context-portfolio){scroll-behavior:auto}.context-navigation nav a:after{transition:none}}
:root:has(#quiet-portfolio,#quiet-page){--paper:#fff;--ink:#000;--charcoal:#000;--quiet-body:#000;--quiet-muted:#505050}body:has(#quiet-portfolio,#quiet-page){font-size:16px;line-height:1.65}.quiet-header,#quiet-portfolio,#quiet-page{width:min(100% - 48px,672px);margin-inline:auto}body:has(#quiet-portfolio,#quiet-page) .footer-shell{width:min(100% - 48px,672px);margin-inline:auto}#quiet-portfolio,#quiet-page{--quiet-columns:minmax(112px, 1fr) minmax(0, 3fr) 12px;--quiet-column-gap:24px}.quiet-header{justify-content:space-between;align-items:center;margin-bottom:56px;padding-top:56px;font-size:13px;display:flex}.quiet-header nav{gap:24px;display:flex}.quiet-header>a{color:var(--quiet-muted)}.quiet-header a,:is(#quiet-portfolio,#quiet-page) a{text-underline-offset:5px}body:has(#quiet-portfolio,#quiet-page) .site-footer a{text-underline-offset:5px}.quiet-header a:hover,:is(#quiet-portfolio,#quiet-page) a:hover{text-decoration:underline}body:has(#quiet-portfolio,#quiet-page) .site-footer a:hover{text-decoration:underline}.quiet-header a>[aria-hidden],:is(#quiet-portfolio,#quiet-page) a>[aria-hidden]{transition:transform .2s var(--ease-quiet);display:inline-block}.quiet-header a:hover>[aria-hidden],.quiet-header a:focus-visible>[aria-hidden],:is(#quiet-portfolio,#quiet-page) a:hover>[aria-hidden],:is(#quiet-portfolio,#quiet-page) a:focus-visible>[aria-hidden]{transform:translate(2px,-2px)}.quiet-intro h1{font-family:var(--context-font);letter-spacing:-.04em;font-size:32px;font-weight:500;line-height:1.15}.quiet-intro p{max-width:54ch;color:var(--quiet-body);letter-spacing:-.01em;margin-top:16px}.quiet-work{margin-top:28px;scroll-margin-top:32px}.quiet-work h2{letter-spacing:-.01em;margin-bottom:16px;font-size:14px;font-weight:500}.quiet-projects summary{grid-template-columns:var(--quiet-columns);column-gap:var(--quiet-column-gap);cursor:pointer;align-items:center;min-height:48px;list-style:none;display:grid}.quiet-projects summary::-webkit-details-marker{display:none}.quiet-projects summary>span:first-child{letter-spacing:-.025em;text-underline-offset:5px;font-size:17px;font-weight:500}.quiet-projects summary:hover>span:first-child{text-decoration:underline;text-decoration-thickness:1px}.quiet-category{color:var(--quiet-muted);font-size:13px;line-height:1.45}.quiet-plus{width:10px;height:10px;color:var(--quiet-muted);transition:transform .36s var(--ease-quiet), color .18s ease;justify-self:end;position:relative}.quiet-plus:before,.quiet-plus:after{content:"";width:10px;height:1px;transition:transform .36s var(--ease-quiet);background:currentColor;position:absolute;top:4px;left:0}.quiet-plus:after{transform:rotate(90deg)}.quiet-projects summary:hover .quiet-plus,.quiet-projects details[open] .quiet-plus{color:var(--ink)}.quiet-projects details[open] .quiet-plus{transform:rotate(180deg)}.quiet-projects details[open] .quiet-plus:after{transform:rotate(0)}.quiet-projects details::details-content{transition:grid-template-rows .38s var(--ease-quiet), content-visibility .38s allow-discrete;grid-template-rows:0fr;display:grid}.quiet-projects details[open]::details-content{grid-template-rows:1fr}.quiet-detail{grid-template-columns:var(--quiet-columns);column-gap:var(--quiet-column-gap);min-height:0;color:var(--quiet-body);row-gap:12px;margin-inline:-8px;padding-inline:8px;font-size:14px;line-height:1.6;transition:opacity .2s;animation:.32s 60ms backwards quiet-arrival;display:grid;overflow:hidden}.quiet-projects details:not([open]) .quiet-detail{opacity:0}.quiet-detail>*{grid-column:2}.quiet-detail>:first-child{margin-top:4px}.quiet-detail>:last-child{margin-bottom:24px}.quiet-detail a{color:var(--ink);justify-self:start;font-size:13px}.quiet-archive{color:var(--quiet-muted);margin-top:16px;font-size:13px;display:inline-block}.quiet-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body:has(#quiet-portfolio,#quiet-page)>.site-footer{background:0 0;border:0}body:has(#quiet-portfolio,#quiet-page) .footer-shell{border-top:1px solid var(--rule);min-height:0;color:var(--quiet-muted);margin-top:32px;padding:24px 0 48px;font-size:12px}body:has(#quiet-portfolio,#quiet-page) .footer-shell nav{gap:24px}@keyframes quiet-arrival{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){#quiet-portfolio,#quiet-page{--quiet-columns:88px minmax(0, 1fr) 12px;--quiet-column-gap:16px}.quiet-header{margin-bottom:48px;padding-top:32px}.quiet-header nav{gap:16px}.quiet-header>a{font-size:12px}.quiet-intro h1{font-size:30px}.quiet-projects summary{min-height:52px}.quiet-projects summary>span:first-child{font-size:16px}.quiet-category{font-size:12px}.quiet-detail>*{grid-column:1/-1}body:has(#quiet-portfolio,#quiet-page) .footer-shell{align-items:flex-start;gap:16px}}@media (prefers-reduced-motion:reduce){:root:has(#quiet-portfolio,#quiet-page){scroll-behavior:auto}#quiet-portfolio *,#quiet-page *,.quiet-header *{transition:none!important;animation:none!important}}
#quiet-page{padding-bottom:8px}:where(#quiet-page) :is(h1,h2,h3,p,ul,ol,dl,dd,figure){margin:0}:where(#quiet-page) :is(ul,ol){padding:0;list-style:none}body:has(#quiet-page) .quiet-header nav a[aria-current=page]{text-decoration:underline}.qp-intro h1{font-family:var(--context-font);letter-spacing:-.04em;font-size:32px;font-weight:500;line-height:1.15}.qp-intro>p{max-width:54ch;color:var(--quiet-body);letter-spacing:-.01em;margin-top:16px}.qp-intro>p+p{margin-top:14px}.qp-meta{color:var(--quiet-muted);font-size:13px;line-height:1.5}.qp-intro>.qp-meta{margin-top:10px}.qp-links{flex-wrap:wrap;gap:8px 24px;font-size:13px;display:flex}.qp-intro>.qp-links{margin-top:20px}.qp-links a>[aria-hidden]{display:inline-block}.qp-links a[data-back]{color:var(--quiet-muted)}.qp-section{margin-top:48px;scroll-margin-top:32px}.qp-section>h2{letter-spacing:-.01em;margin-bottom:16px;font-size:14px;font-weight:500}.qp-section>h2 small{color:var(--quiet-muted);margin-left:10px;font-size:13px;font-weight:400}.qp-prose p{max-width:60ch}.qp-prose p+p{margin-top:1em}.qp-prose h3{letter-spacing:-.01em;font-size:15px;font-weight:500}.qp-prose p+h3{margin-top:24px}.qp-prose h3+p{margin-top:6px}.qp-section>.qp-links{margin-top:20px}.qp-row{grid-template-columns:var(--quiet-columns);column-gap:var(--quiet-column-gap);border-top:1px solid var(--rule);padding-block:12px;font-size:15px;line-height:1.6;display:grid}.qp-row:first-child{border-top:0;padding-top:0}.qp-row>:first-child{color:var(--quiet-muted);padding-top:1px;font-size:13px;line-height:1.6}.qp-row>:nth-child(2){min-width:0;max-width:60ch}.qp-row h3{letter-spacing:-.02em;font-size:16px;font-weight:500}.qp-row h3+p{margin-top:6px}.qp-row .qp-meta{margin-top:2px}.qp-row .qp-list{margin-top:10px}.qp-list li{border-top:1px solid var(--rule);max-width:60ch;padding-block:8px;font-size:15px;line-height:1.6}.qp-list li:first-child{border-top:0;padding-top:0}#quiet-page .quiet-detail>:is(ol,dl){grid-column:1/3}#quiet-page .quiet-detail .qp-row{font-size:14px}#quiet-page .quiet-detail>:first-child{margin-top:4px}.qp-filter{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:8px;font-size:13px;display:flex}.qp-filter nav{flex-wrap:wrap;gap:8px 20px;display:flex}.qp-filter nav a.is-active{text-decoration:underline}.qp-filter nav a small{color:var(--quiet-muted);margin-left:4px}.qp-filter p{color:var(--quiet-muted)}#project-archive{--quiet-columns:minmax(0, 1fr) minmax(0, 1fr) 12px}#project-archive .quiet-projects summary{align-items:baseline;min-height:64px;padding-block:12px}#project-archive .quiet-projects summary>span{min-width:0}#project-archive .quiet-projects summary>span:first-child{overflow-wrap:anywhere;line-height:1.4}#project-archive .quiet-projects .quiet-plus{align-self:start;margin-top:7px}#project-archive .quiet-detail>*{grid-column:1/3}#project-archive .quiet-detail>p{max-width:60ch}@media (max-width:700px){#project-archive .quiet-projects summary{grid-template-columns:minmax(0,1fr) 12px;row-gap:4px}#project-archive .quiet-projects summary>span:first-child{grid-column:1}#project-archive .quiet-projects .quiet-category{grid-area:2/1}#project-archive .quiet-projects .quiet-plus{grid-area:1/2/3}#project-archive .quiet-detail>*{grid-column:1/-1}}.qp-figure{height:320px;margin-top:24px;position:relative;overflow:hidden}.qp-figure img{display:block}.qp-figure-portrait img{width:240px;height:auto;position:absolute;top:0;left:0}.qp-figure-landscape img{object-fit:cover;object-position:left top;width:100%;height:100%}.qp-figure+figcaption,.qp-caption{color:var(--quiet-muted);margin-top:10px;font-size:13px}.qp-nav{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:48px;padding-top:20px;font-size:13px;display:flex}.qp-nav span{color:var(--quiet-muted)}@media (max-width:600px){.qp-intro h1{font-size:30px}.qp-section{margin-top:40px}.qp-figure{height:240px}.qp-figure-portrait img{width:200px}}
:root:has(#panel){--paper:#fff;--ink:#000;--grey:#6b6b6b;--grey-on-ink:#9c9c9c;--accent:#c4501a;--panel-inset:24px;--panel-pad:24px;--panel-ease:cubic-bezier(.2, 0, 0, 1)}body:has(#panel){background:var(--paper);color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif}body:has(#panel) .route-frame{animation:none}body:has(#panel)>:is(.site-footer,.site-header,.site-ground){display:none}body:has(#panel) .skip-link{background:var(--ink);color:var(--paper)}body:has(#panel) :where(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}body:has(#panel) ::selection{background:var(--accent);color:var(--paper)}#panel{--panel-font:var(--font-grotesk-face), "Helvetica Neue", Helvetica, Arial, sans-serif;padding:var(--panel-inset);font-family:var(--panel-font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.4}:where(#panel) a{color:inherit;text-decoration:none}:where(#panel) :is(h1,h2,p){font-weight:inherit;font-size:inherit;margin:0}.panel-object{min-height:calc(100svh - var(--panel-inset) * 2);border:1px solid var(--ink);background:var(--ink);grid-template-rows:56px minmax(auto,5fr) minmax(auto,3fr) 48px;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"id id id nav nav nav nav nav nav nav nav nav""id id id g g g g g g g g g""v v v v v m m m m e e e""r r r r r r r r r r r r";gap:1px;display:grid}.panel-object>*{background:var(--paper);min-width:0;min-height:0}.panel-identity{padding:var(--panel-pad);flex-direction:column;grid-area:id;display:flex}.panel-name{letter-spacing:-.025em;font-size:clamp(32px,2.9vw,52px);font-weight:500;line-height:1.02}.panel-name span{display:block}.panel-role{letter-spacing:-.005em;max-width:22ch;margin-top:40px;font-size:15px;font-weight:500;line-height:1.45}.panel-role span{color:var(--grey);font-weight:400;display:block}.panel-place{color:var(--grey);margin-top:auto;font-size:13px}.panel-nav{padding-inline:var(--panel-pad);grid-area:nav;align-items:center;gap:40px;font-size:14px;display:flex}.panel-nav a{position:relative}.panel-nav a:after{content:"";opacity:0;height:1px;transition:opacity .15s var(--panel-ease);background:currentColor;position:absolute;bottom:-4px;left:0;right:0}.panel-nav a:hover:after,.panel-nav a:focus-visible:after{opacity:1}.panel-cell{padding:var(--panel-pad);grid-template-rows:1fr auto;display:grid;position:relative;overflow:hidden}.panel-cell[data-project=gathr]{grid-area:g}.panel-cell[data-project=vibegrid]{grid-area:v}.panel-cell[data-project=murmur]{grid-area:m}.panel-cell-label{grid-row:2;align-self:end;display:block}.panel-cell-name{letter-spacing:.03em;text-transform:uppercase;font-size:clamp(24px,2.2vw,34px);font-weight:500;line-height:1}.panel-cell-descriptor{color:var(--grey);margin-top:10px;font-size:14px;display:block}.panel-cell-description{opacity:0;grid-row:1;align-self:start;max-width:34ch;font-size:15px;line-height:1.5;display:block;transform:translateY(4px)}.panel-cell-capture{opacity:0;top:var(--panel-pad);right:var(--panel-pad);width:clamp(180px,24%,300px);position:absolute;bottom:0;overflow:hidden;transform:translateY(8px)}.panel-cell-capture img{width:100%;height:auto;display:block;transform:translateY(-5%)}.panel-void{grid-area:e}.panel-readout{padding-inline:var(--panel-pad);grid-area:r;align-items:center;font-size:13px;display:grid;position:relative}.panel-readout-line{grid-area:1/1;justify-content:space-between;gap:24px;display:flex}.panel-readout-line>span:last-child{color:var(--grey);white-space:nowrap}.panel-readout-line b{font-weight:500}.panel-readout-line:not([data-readout=default]){opacity:0;visibility:hidden}.panel-readout-line b{color:var(--accent);margin-right:10px}.panel-cell{transition:background-color .18s var(--panel-ease), color .18s var(--panel-ease)}.panel-cell-descriptor{transition:color .18s var(--panel-ease)}.panel-cell-description{transition:opacity .22s var(--panel-ease), transform .22s var(--panel-ease)}.panel-cell-capture{transition:opacity .26s var(--panel-ease), transform .26s var(--panel-ease)}.panel-readout-line{transition:opacity .18s var(--panel-ease), visibility 0s .18s}.panel-cell:focus-visible{outline-offset:-3px}.panel-cell:is(:hover,:focus-visible){background:var(--ink);color:var(--paper)}.panel-cell:is(:hover,:focus-visible) .panel-cell-descriptor{color:var(--accent)}.panel-cell:is(:hover,:focus-visible) :is(.panel-cell-description,.panel-cell-capture){opacity:1;transform:none}.panel-object:has(.panel-cell:is(:hover,:focus-visible)) .panel-readout-line[data-readout=default]{opacity:0;visibility:hidden;transition-delay:0s,.18s}:is(.panel-object:has(.panel-cell[data-project=gathr]:is(:hover,:focus-visible)) .panel-readout-line[data-readout=gathr],.panel-object:has(.panel-cell[data-project=vibegrid]:is(:hover,:focus-visible)) .panel-readout-line[data-readout=vibegrid],.panel-object:has(.panel-cell[data-project=murmur]:is(:hover,:focus-visible)) .panel-readout-line[data-readout=murmur]){opacity:1;visibility:visible;transition-delay:0s,0s}@media (hover:none){.panel-cell-description{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){#panel *{transition:none!important}}@media (min-width:1600px){:root:has(#panel){--panel-inset:32px;--panel-pad:32px}.panel-object{grid-template-rows:64px minmax(auto,5fr) minmax(auto,3fr) 56px}#panel{font-size:15px}.panel-role{font-size:16px}.panel-nav{gap:48px;font-size:15px}.panel-cell-descriptor{font-size:15px}.panel-cell-description{font-size:16px}.panel-place,.panel-readout{font-size:14px}}@media (max-width:1023px){.panel-object{grid-template-areas:"id id id id nav nav nav nav nav nav nav nav""id id id id g g g g g g g g""v v v v v v v m m m m m""r r r r r r r r r r r r"}.panel-void{display:none}.panel-role{margin-top:28px}}@media (max-width:719px){:root:has(#panel){--panel-inset:16px;--panel-pad:16px}.panel-object{grid-template-rows:48px auto minmax(auto,5fr) minmax(auto,3fr) 40px;grid-template-areas:"n n n n n nav nav nav nav nav nav nav""ro ro ro ro ro ro ro ro pl pl pl pl""g g g g g g g g g g g g""v v v v v v m m m m m m""r r r r r r r r r r r r"}.panel-identity{display:contents}.panel-identity>*{background:var(--paper);padding:var(--panel-pad)}.panel-name{letter-spacing:-.01em;white-space:nowrap;grid-area:n;align-items:center;padding-block:0;font-size:16px;line-height:1;display:flex}.panel-name span{display:inline}.panel-name span+span{margin-left:.22em}.panel-role{grid-area:ro;max-width:none;margin:0;font-size:14px}.panel-place{color:var(--ink);grid-area:pl;margin:0;font-size:14px}.panel-nav{justify-content:flex-end;gap:16px;font-size:13px}.panel-cell-name{font-size:22px}.panel-cell-descriptor{margin-top:8px;font-size:13px}.panel-cell-description{font-size:14px}.panel-cell:not([data-project=gathr]) .panel-cell-description,.panel-cell-capture{display:none}.panel-readout{font-size:12px}}:root:has(#panel){--grey-rule:#d6d6d6}.panel-page{background:var(--paper);flex-direction:column;display:flex}.pp-band{border-top:1px solid var(--ink);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.pp-band:first-child{border-top:0}.pp-cell{min-width:0;padding:var(--panel-pad)}.pp-cell+.pp-cell{border-left:1px solid var(--ink)}.pp-1{grid-column:span 1}.pp-2{grid-column:span 2}.pp-3{grid-column:span 3}.pp-4{grid-column:span 4}.pp-5{grid-column:span 5}.pp-6{grid-column:span 6}.pp-7{grid-column:span 7}.pp-8{grid-column:span 8}.pp-9{grid-column:span 9}.pp-12{grid-column:1/-1}.pp-label{grid-column:span 3}.pp-body{grid-column:span 9}.pp-head{min-height:56px}.pp-head .pp-cell{align-items:center;padding-block:0;display:flex}.pp-wordmark{letter-spacing:-.01em;white-space:nowrap;grid-column:span 3;font-size:15px;font-weight:500}.pp-head .panel-nav{grid-area:auto/span 9}.panel-nav a[aria-current=page]:before{content:"";vertical-align:1px;background:var(--accent);width:6px;height:6px;margin-right:9px;display:inline-block}.pp-foot{min-height:48px;color:var(--grey);margin-top:auto;font-size:13px}.pp-foot .pp-cell{align-items:center;padding-block:0;display:flex}.pp-foot p{grid-column:span 3}.pp-foot nav{grid-column:span 9;gap:24px}.pp-foot a:hover,.pp-foot a:focus-visible{text-underline-offset:4px;text-decoration:underline}.pp-title h1{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(32px,2.9vw,52px);font-weight:500;line-height:1.02}.pp-title .pp-body{flex-direction:column;gap:16px;display:flex}.pp-title .pp-body>*{margin:0}.pp-lead{letter-spacing:-.01em;max-width:46ch;font-size:clamp(18px,1.5vw,22px);line-height:1.35}.pp-meta{color:var(--grey);font-size:14px}.pp-meta+.pp-lead{margin-top:-4px}.pp-label>*{top:var(--panel-pad);letter-spacing:-.005em;font-size:14px;font-weight:500;position:sticky}.pp-label small{color:var(--grey);margin-top:6px;font-size:13px;font-weight:400;display:block}.pp-cell p:not([class]){max-width:62ch;font-size:16px;line-height:1.55}.pp-cell p+p{margin-top:1em}.pp-cell h3{letter-spacing:-.01em;font-size:18px;font-weight:500}.pp-cell h3+p{margin-top:8px}.pp-cell :is(p,.pp-list,.pp-dl,.pp-steps)+h3{margin-top:32px}.pp-num{color:var(--grey);margin-bottom:20px;font-size:13px;display:block}.pp-cell>article+article{border-top:1px solid var(--grey-rule);margin-top:32px;padding-top:24px}.pp-cell h3+.pp-meta{margin-top:6px}.pp-cell :is(p,h3,.pp-meta)+:is(.pp-list,.pp-dl,.pp-steps){margin-top:12px}.pp-cell :is(.pp-list,.pp-dl,.pp-steps)+p{margin-top:24px}.pp-cell h3 a:hover,.pp-cell h3 a:focus-visible{text-underline-offset:4px;text-decoration:underline}.pp-steps{margin:0;padding:0;list-style:none}.pp-steps li{border-top:1px solid var(--grey-rule);grid-template-columns:40px minmax(0,1fr);gap:16px;padding-block:14px;display:grid}.pp-steps li:first-child{border-top:0;padding-top:0}.pp-steps li>span{color:var(--grey);padding-top:3px;font-size:13px}.pp-steps li>p{max-width:58ch;font-size:15px;line-height:1.5}.pp-dl{grid-template-columns:minmax(120px,2fr) 7fr;margin:0;display:grid}.pp-dl>div{display:contents}.pp-dl dt,.pp-dl dd{border-top:1px solid var(--grey-rule);margin:0;padding-block:14px;font-size:15px;line-height:1.5}.pp-dl dt{color:var(--grey);padding-right:16px}.pp-dl dd{max-width:60ch}.pp-dl>div:first-child dt,.pp-dl>div:first-child dd{border-top:0;padding-top:0}.pp-list{margin:0;padding:0;list-style:none}.pp-list li{border-top:1px solid var(--grey-rule);max-width:62ch;padding-block:12px;font-size:15px;line-height:1.5}.pp-list li:first-child{border-top:0;padding-top:0}.pp-links{flex-wrap:wrap;gap:8px 24px;font-size:14px;display:flex}.pp-links a:hover,.pp-links a:focus-visible,.pp-cell p a:hover,.pp-cell p a:focus-visible{text-underline-offset:4px;text-decoration:underline}.pp-cell p a{text-decoration:underline;-webkit-text-decoration-color:var(--grey-rule);text-decoration-color:var(--grey-rule);text-underline-offset:4px}.pp-cell-link{transition:background-color .18s var(--panel-ease), color .18s var(--panel-ease);flex-direction:column;gap:10px;display:flex}.pp-cell-link small{color:var(--grey);transition:color .18s var(--panel-ease);font-size:13px}.pp-cell-link span{letter-spacing:-.01em;font-size:18px;font-weight:500}.pp-cell-link:is(:hover,:focus-visible){background:var(--ink);color:var(--paper);outline-offset:-3px}.pp-cell-link:is(:hover,:focus-visible) small{color:var(--accent)}.pp-cell-link.pp-end{text-align:right}.pp-title .pp-body.pp-filter{flex-flow:wrap;place-content:flex-end space-between;align-items:flex-end;gap:12px 24px}.pp-filter nav{flex-wrap:wrap;gap:8px 28px;font-size:14px;display:flex}.pp-filter nav a{white-space:nowrap}.pp-filter nav a:before{content:"";vertical-align:1px;background:var(--accent);opacity:0;width:6px;height:6px;transition:opacity .15s var(--panel-ease);margin-right:9px;display:inline-block}.pp-filter nav a.is-active:before{opacity:1}.pp-filter nav a:hover,.pp-filter nav a:focus-visible{text-underline-offset:4px;text-decoration:underline}.pp-filter nav small{color:var(--grey);margin-left:6px}.pp-count{color:var(--grey);font-size:13px}.pp-row{border-top:1px solid var(--ink);transition:background-color .18s var(--panel-ease), color .18s var(--panel-ease);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.pp-row .pp-cell{padding-block:20px}.pp-row-index,.pp-row-label,.pp-row-category,.pp-row-time{color:var(--grey);transition:color .18s var(--panel-ease);font-size:14px;line-height:1.45}.pp-row-title{letter-spacing:-.015em;font-size:20px;font-weight:500;line-height:1.2}.pp-cell>.pp-row-title+:is(p,.pp-list,.pp-dl){margin-top:14px}.pp-row:is(:hover,:focus-visible){background:var(--ink);color:var(--paper);outline-offset:-3px}.pp-row:is(:hover,:focus-visible) :is(.pp-row-index,.pp-row-category,.pp-row-time){color:var(--grey-on-ink)}.pp-row:is(:hover,:focus-visible) .pp-row-label{color:var(--accent)}.pp-row[hidden]{display:none}.pp-facts{margin:0}.pp-facts dt{color:var(--grey);margin-bottom:8px;font-size:13px}.pp-facts dd{margin:0;font-size:15px;line-height:1.45}.pp-media{height:clamp(320px,38vw,560px);padding:0;position:relative;overflow:hidden}.pp-media-portrait img{top:var(--panel-pad);left:var(--panel-pad);width:clamp(200px,26%,320px);height:auto;position:absolute}.pp-media-landscape img{object-fit:cover;object-position:left top;width:100%;height:100%;display:block}@media (min-width:1600px){.pp-head{min-height:64px}.pp-foot{min-height:56px;font-size:14px}.pp-wordmark{font-size:16px}.pp-label>*{font-size:15px}.pp-cell p:not([class]),.pp-dl dt,.pp-dl dd,.pp-list li,.pp-steps li>p,.pp-facts dd{font-size:16px}.pp-row-title{font-size:22px}}@media (max-width:1023px){.pp-label,.pp-wordmark,.pp-foot p{grid-column:span 4}.pp-body,.pp-head .panel-nav,.pp-foot nav{grid-column:span 8}}@media (max-width:719px){.pp-wordmark{grid-column:span 5;font-size:16px}.pp-head .panel-nav{grid-column:span 7}.pp-foot p{grid-column:span 5}.pp-foot nav{grid-column:span 7;justify-content:flex-end;gap:16px;font-size:12px}.pp-band:not(.pp-head,.pp-foot,.pp-facts)>.pp-cell{grid-column:1/-1}.pp-band:not(.pp-head,.pp-foot,.pp-facts)>.pp-cell+.pp-cell{border-left:0;border-top:1px solid var(--ink)}.pp-label{padding-block:12px}.pp-title .pp-label{padding-block:20px}.pp-label>*{position:static}.pp-title h1{font-size:32px}.pp-lead{font-size:18px}.pp-facts .pp-cell{border-left:0;grid-column:span 6}.pp-facts .pp-cell:nth-child(2n){border-left:1px solid var(--ink)}.pp-facts .pp-cell:nth-child(n+3){border-top:1px solid var(--ink)}.pp-row>.pp-cell{padding-block:16px}.pp-row-index{grid-column:span 2}.pp-row-title{grid-column:span 6;font-size:18px}.pp-row-label,.pp-row-category{display:none}.pp-row-time{grid-column:span 4;font-size:12px}.pp-row>.pp-cell+.pp-cell{border-left:1px solid var(--ink)}.pp-dl{grid-template-columns:minmax(96px,1fr) 2fr}.pp-media{height:clamp(260px,80vw,420px)}.pp-media-portrait img{width:56%}}
