/* Culture in motion — progressive enhancement, no build required. */
:root{--bg:#f4f2eb;--bg-alt:#eae8e0;--ink:#20221f;--ink-2:#50534e;--ink-3:#62655f;--rule:#d4d5cc;--rule-strong:#aeb2a5;--accent:#284cde;--maxw:1440px;--band:clamp(4rem,7vw,7rem)}
html{scroll-padding-top:7rem}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:white}[hidden]{display:none!important}
.nav{background:rgba(244,242,235,.94);backdrop-filter:blur(16px)}.nav__inner{min-height:80px}.wordmark{font-size:1.15rem;letter-spacing:-.045em}.wordmark span{color:var(--accent)}.nav__links a{color:var(--ink-2);font-size:.72rem}.nav__links a:hover,.nav__links a[aria-current]{color:var(--accent)}.nav__cta{border-radius:30px;padding:.65rem 1.1rem!important;border-color:var(--ink)}.nav__cta:hover{background:var(--ink);color:var(--bg)!important}.reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--accent);z-index:100;pointer-events:none}
.studio-hero{padding-top:1.8rem}.studio-hero .hero__meta{margin-bottom:2.6rem;padding-bottom:1rem}.eyebrow{font-size:.66rem}.availability{display:flex;align-items:center;gap:.6rem}.availability i{width:6px;height:6px;border-radius:100%;background:#36714b;box-shadow:0 0 0 4px #36714b12}.studio-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:3rem;align-items:center}.studio-intro{margin-bottom:1.4rem;color:var(--accent)}.studio-copy h1{font-size:clamp(4rem,6.9vw,6.6rem);letter-spacing:-.07em;line-height:.98;font-weight:500}.serif-word,.section-head h2 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.065em;color:var(--accent)}.studio-description{font-size:1rem;line-height:1.7;margin-top:1.7rem;color:var(--ink-2);max-width:43ch}.hero-actions{display:flex;align-items:center;gap:1.7rem;margin-top:2rem}.button-primary{display:inline-flex;gap:2rem;align-items:center;background:var(--accent);color:white;text-decoration:none;padding:.95rem 1.25rem;border-radius:3px;font-size:.8rem;transition:background .2s,transform .2s}.button-primary:hover{background:#203bad;transform:translateY(-3px)}.button-primary span{font-size:1.3rem}.text-link{font-size:.78rem;text-underline-offset:5px}.hero-bottom{margin-top:3rem;padding:1.2rem 0;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--rule)}.hero-bottom p{color:var(--ink-3)}.hero-bottom a{text-decoration:none;font-size:.6rem;letter-spacing:.08em}.hero-bottom a span{margin-left:1rem;color:var(--accent)}
.signal-art{position:relative;background:#e6e8df;overflow:hidden;aspect-ratio:1.04;display:flex;flex-direction:column;padding:1.3rem;border:1px solid #d6d9ce;background-image:linear-gradient(#aab3a21a 1px,transparent 1px),linear-gradient(90deg,#aab3a21a 1px,transparent 1px);background-size:32px 32px}.art-top,.art-bottom{display:flex;justify-content:space-between;align-items:center;gap:.5rem;position:relative;z-index:2}.art-top,.art-bottom .mono{font-size:.55rem;letter-spacing:.06em}.record-stage{position:relative;flex:1;display:grid;place-items:center;min-height:0;perspective:900px}.record-tilt{width:83%;aspect-ratio:1;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s ease;filter:drop-shadow(14px 24px 14px #20221f30)}.record{width:100%;height:100%;border-radius:50%;position:relative;background:repeating-radial-gradient(circle at center,#171b1a 0,#171b1a 2px,#353a35 2.5px,#1c201d 3.5px);animation:record-spin 26s linear infinite;display:grid;place-items:center}.record::before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent,#e6e8df29,transparent 30%,#ffffff14,transparent 65%,#ffffff20,transparent);border:8px solid #171b1a}.record-label{position:relative;width:39%;height:39%;border-radius:50%;background:#284cde;color:#f4f2eb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.45rem;border:1px solid #6181ff;box-shadow:0 0 0 7px #111713}.record-label span{font-family:var(--font-mono);font-size:clamp(.32rem,.55vw,.5rem);letter-spacing:.1em}.record-label strong{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(1rem,2vw,1.75rem);line-height:1}.record-label i{width:8px;height:8px;border-radius:50%;background:var(--bg);position:absolute;top:calc(50% - 4px);left:calc(50% - 4px);opacity:.7}.record-orbit{position:absolute;width:97%;aspect-ratio:1;border:1px solid #82917a55;border-radius:50%;transform:rotate(-23deg) scaleY(.67)}.art-axis{position:absolute;font-family:var(--font-mono);color:#818d76;font-size:1.4rem}.art-axis--x{left:0;top:30%}.art-axis--y{right:0;bottom:24%}.record-caption{position:absolute;right:0;bottom:1rem;font-size:.57rem;line-height:1.5}.motion-toggle{border:0;background:transparent;font-family:var(--font-mono);font-size:.56rem;padding:.5rem 0 .5rem .5rem;text-align:right}.motion-toggle:hover{color:var(--accent)}.motion-paused *, .motion-paused *::before{animation-play-state:paused!important}
@keyframes record-spin{to{transform:rotate(360deg)}}.discipline-strip{background:var(--accent);color:var(--bg);overflow:hidden;padding:.8rem 0}.discipline-track{display:flex;width:max-content;align-items:center;animation:marquee 42s linear infinite}.discipline-track span{font-size:1.05rem;letter-spacing:-.02em;white-space:nowrap;width:260px;text-align:center}.discipline-track i{font-style:normal;font-size:1.3rem;width:60px;text-align:center}@keyframes marquee{to{transform:translateX(-50%)}}
.section-head .display--l{font-size:clamp(2.4rem,4.5vw,4rem);letter-spacing:-.055em}.section-head .lede{font-size:1rem;max-width:46ch}.section-head__index{color:var(--accent);margin-bottom:1.2rem}.work-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:-1rem 0 2rem}.work-filters button{background:transparent;border:1px solid var(--rule);padding:.6rem 1rem;border-radius:30px;font-size:.7rem;transition:background .2s,color .2s}.work-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.work-filters button:hover{border-color:var(--ink)}.work-filters button span{margin-left:.5rem;opacity:.6;font-size:.6rem}.filter-status{margin-left:auto;font-size:.6rem;color:var(--ink-3)}.work-grid{gap:3.5rem 2.5rem}.card__media{padding:1.3rem;background:#e3e6df;border:0;border-radius:3px}.card:nth-child(2) .card__media{background:#e0e4ef}.card:nth-child(3) .card__media{background:#dfded4}.card:nth-child(4) .card__media{background:#d9dce4}.card__media img{aspect-ratio:1.6;object-fit:cover;border-radius:2px;box-shadow:0 6px 20px #20221f15;transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .4s}.card__media::after{content:'↗';position:absolute;right:1rem;bottom:1rem;width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:50%;background:var(--bg);font-size:1.2rem;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}.card:hover .card__media img{transform:scale(1.035)}.card:hover .card__media::after,.card__media:focus-visible::after{opacity:1;transform:none}.card__body{padding-top:1.25rem}.card__title{font-size:1.5rem;letter-spacing:-.045em}.card__title a:hover{color:var(--accent);text-decoration:none}.card__kicker{color:var(--accent);font-size:.6rem}.card__desc{font-size:.88rem;max-width:60ch}.card__meta{font-size:.6rem}.more-link{padding-block:1.5rem}.stats{background:var(--ink);color:var(--bg);padding:1rem 2rem;border-radius:3px;border:0}.stats__cell{border-color:#ffffff26}.stats__num{font-size:clamp(2.5rem,4.5vw,4rem);letter-spacing:-.06em}.stats__label{color:#d3d6ca;font-size:.58rem}.quote{background:#e8eadf;padding:3rem var(--gutter);border:0}.quote blockquote{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);font-style:italic;max-width:39ch;line-height:1.3}.timeline__row{transition:background .25s,padding .25s}.timeline__row:hover{background:#e8eadf;padding-inline:.7rem}.contact__row{padding-block:1.2rem}.home #contact .display--l{color:var(--accent)}.footer{padding-block:2rem}.portrait img{filter:saturate(.78);transition:filter .5s,transform .7s}.portrait:hover img{filter:saturate(1);transform:scale(1.025)}.article__title{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.055em}.article__toc a[aria-current=location]{color:var(--accent)}
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}.reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:1040px){.studio-grid{gap:1.5rem}.studio-copy h1{font-size:clamp(3.2rem,7vw,5rem)}.hero-actions{gap:1rem}.signal-art{padding:.9rem}.record-caption{font-size:.5rem}.art-top{font-size:.45rem}}
@media(max-width:760px){.nav__inner{min-height:78px;gap:.4rem;padding-block:.8rem;align-items:center;flex-wrap:wrap}.wordmark{font-size:1rem}.nav__links{gap:.8rem}.nav__links a{font-size:.6rem}.nav__links a:nth-child(4){display:none}.nav__cta{padding:.35rem .7rem!important}.studio-grid{grid-template-columns:1fr;gap:2rem}.studio-copy h1{font-size:clamp(3.5rem,13vw,6rem)}.studio-intro{font-size:.58rem}.studio-hero .hero__meta{margin-bottom:2rem}.studio-hero .hero__meta .eyebrow{font-size:.52rem}.signal-art{max-width:460px;width:100%;justify-self:center;padding:1rem}.record-label span{font-size:.42rem}.record-label strong{font-size:1.5rem}.art-top,.art-bottom .mono{font-size:.5rem}.hero-bottom{margin-top:2rem}.hero-bottom p{font-size:.55rem;max-width:24ch}.hero-bottom a{font-size:.5rem}.studio-description{font-size:.92rem}.hero-actions{gap:1.3rem}.button-primary{font-size:.75rem}.text-link{font-size:.7rem}.filter-status{width:100%;margin:.6rem 0 0}.work-filters button{font-size:.65rem;padding:.5rem .8rem}.work-grid{gap:2.5rem}.card__media{padding:1rem}.stats{grid-template-columns:1fr 1fr;padding:1rem}.stats__cell{padding:1rem!important;border-bottom:0}.stats__cell:nth-child(odd){border-right:1px solid #ffffff26}.stats__cell:nth-child(-n+2){border-bottom:1px solid #ffffff26}.stats__label{font-size:.5rem}.about--compact{grid-template-columns:1fr}.portrait--sm{max-width:12rem}.contact__row strong{font-size:clamp(.75rem,3.5vw,.94rem)}.quote{padding:2rem var(--gutter)}.entry__media{max-width:100%}.timeline__row:hover{padding-inline:0}.hero-cover .hero__grid{gap:1.2rem}}
@media(max-width:380px){.nav__links{margin-left:0;width:100%;justify-content:space-between}.hero-actions{gap:.8rem}.hero__meta{gap:.65rem}.work-filters{gap:.35rem}.work-filters button{padding:.5rem .6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.record-tilt{transform:none!important}}
@media print{.reading-progress,.discipline-strip,.signal-art,.work-filters,.hero-actions{display:none}.reveal-ready{opacity:1;transform:none}.stats{color:#000;background:#fff}.studio-grid{display:block}}

/* Compact project gallery — purpose-made artwork and screenshot previews. */
.deck-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:.8rem 0 1.7rem;border-top:1px solid var(--rule)}.deck-bar p{font-size:.58rem;letter-spacing:.08em;color:var(--ink-3)}.deck-instruction{display:block;margin-top:.45rem;letter-spacing:0;color:var(--accent)}.cover-modes{display:flex;background:#e5e5dc;padding:4px;border-radius:30px;gap:2px;flex-shrink:0}.cover-modes button{border:0;background:transparent;padding:.55rem .85rem;border-radius:30px;font-size:.65rem;color:var(--ink-2)}.cover-modes button[aria-pressed=true]{background:var(--bg);color:var(--ink);box-shadow:0 1px 4px #20221f15}
.home .project-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;position:relative;counter-reset:project}.home .project-deck .card{display:flex;flex-direction:column;position:static;gap:0;margin:0;background:var(--bg);border:1px solid var(--rule);border-radius:6px;overflow:clip;box-shadow:none;transform:none;filter:none;min-width:0;counter-increment:project;scroll-margin-top:7rem}.home .project-deck .card__media{padding:0;background:#20221f!important;border-radius:0;display:block;aspect-ratio:16/11;flex-shrink:0;position:relative}.home .project-deck .card__media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;box-shadow:none;border-radius:0;transition:opacity .35s ease,transform .6s ease;filter:none}.home .project-deck .card__media .cover-interface{position:absolute;inset:0;opacity:0;object-fit:contain;padding:.8rem;background:#e5e6df;transform:translateY(6px) scale(.98)}.home .project-deck .card__media:hover .cover-interface,.home .project-deck .card__media:focus-visible .cover-interface,.home .project-deck.show-interfaces .cover-interface{opacity:1;transform:none}.home .project-deck .card__media:hover .cover-art,.home .project-deck .card__media:focus-visible .cover-art,.home .project-deck.show-interfaces .cover-art{opacity:0;transform:scale(1.025)}.home .project-deck .card__media::after{right:.65rem;bottom:.65rem;width:2rem;height:2rem;font-size:1rem;z-index:2}.cover-hint{position:absolute;bottom:.65rem;left:.65rem;background:#f4f2ebed;color:#20221f;padding:.3rem .45rem;border-radius:3px;font:.45rem var(--font-mono);z-index:2}.cover-hint__interface{display:none}.card__media:hover .cover-hint__art,.card__media:focus-visible .cover-hint__art,.show-interfaces .cover-hint__art{display:none}.card__media:hover .cover-hint__interface,.card__media:focus-visible .cover-hint__interface,.show-interfaces .cover-hint__interface{display:inline}.home .project-deck .card__body{padding:1.1rem;gap:.7rem;flex:1}.home .project-deck .card__kicker{font-size:.55rem;letter-spacing:.03em;gap:.35rem}.home .project-deck .card__title{font-size:clamp(1.2rem,1.65vw,1.5rem);line-height:1.2;letter-spacing:-.035em;max-width:none}.home .project-deck .card__desc{font-size:.82rem;line-height:1.65}.home .project-deck .card__meta{font-size:.55rem;line-height:1.7;padding-top:.7rem}.home .project-deck .card__link{font-size:.59rem;gap:1rem;margin-top:auto;padding-top:.6rem}.home .project-deck .card:nth-child(4) .card__media img{object-fit:cover;object-position:center}.home .project-deck .card__body::after{content:none}
.reading-statement{padding-top:clamp(5rem,12vw,11rem);padding-bottom:clamp(4rem,8vw,7rem)}.reading-statement>.eyebrow{color:var(--accent);margin-bottom:2rem}.statement-text{font-size:clamp(2rem,5.4vw,5rem);line-height:1.15;font-weight:500;letter-spacing:-.06em}.statement-text em{font-family:Georgia,serif;font-weight:400}.statement-word{color:var(--ink);transition:color .35s}.statement-enhanced .statement-word{color:#b4b6ad}.statement-enhanced .statement-word.is-read{color:var(--ink)}.statement-text em .statement-word.is-read{color:var(--accent)}.statement-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;border-top:1px solid var(--rule);padding-top:1.2rem}.statement-bottom .mono{font-size:.58rem;letter-spacing:.03em;color:var(--ink-3)}.statement-bottom a{text-decoration:none}.statement-bottom a:hover{color:var(--accent)}
@media(max-width:1099px){.home .project-deck{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.home .project-deck{grid-template-columns:minmax(0,1fr);gap:1.4rem}.home .project-deck .card__title{font-size:1.4rem}.deck-bar{align-items:flex-start;flex-direction:column;gap:.8rem}.deck-bar p{font-size:.5rem}.cover-modes button{font-size:.63rem}.statement-bottom{align-items:flex-start}.statement-bottom span{max-width:24ch}.statement-bottom a{white-space:nowrap}.reading-statement{padding-top:5rem;padding-bottom:3rem}.statement-text{font-size:clamp(2rem,7.7vw,3.6rem)}}
@media(hover:none){.cover-hint{display:none}.home .project-deck:not(.show-interfaces) .card__media:hover .cover-art{opacity:1;transform:none}.home .project-deck:not(.show-interfaces) .card__media:hover .cover-interface{opacity:0}}
@media(prefers-reduced-motion:reduce){.statement-enhanced .statement-word{color:var(--ink)}.statement-text em .statement-word{color:var(--accent)}.home .project-deck .card{position:relative!important;transform:none!important;filter:none!important}.deck-instruction{display:none}}
@media print{.deck-bar,.cover-hint,.cover-interface{display:none!important}.home .project-deck .card{position:static!important;transform:none!important;filter:none!important;display:block;break-inside:avoid}.statement-word{color:#000!important}.home .project-deck .card__media{max-height:16rem}.home .project-deck .card__media img{object-fit:contain}}

@view-transition{navigation:auto}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}


/* Case-study reading aids. */
.contribution-note{margin-top:1.8rem;padding:.2rem 0 .2rem 1rem;border-left:2px solid var(--accent);max-width:68ch}.contribution-note .eyebrow{display:block;color:var(--accent);margin-bottom:.5rem;font-size:.6rem}.contribution-note p:last-child{font-size:.86rem;line-height:1.7;color:var(--ink-2)}.article__main .data tbody th{white-space:normal;min-width:9rem}.study-steps{counter-reset:study-step;margin:1.2rem 0 0;max-width:68ch}.article__main .study-steps li{counter-increment:study-step;padding:1rem 0 1rem 2rem;margin:0;border-top:1px solid var(--rule)}.article__main .study-steps li::before{content:counter(study-step,decimal-leading-zero);left:0;top:1.25rem;width:auto;height:auto;background:none;font: .6rem var(--font-mono);color:var(--accent)}@media(max-width:640px){.contribution-note{padding-left:.8rem}.contribution-note p:last-child{font-size:.82rem}}

.article__main{min-width:0}.article__main .data{max-width:100%}

/* AgentBoard — a readable workflow study within the existing case system. */
.agentboard-case{--accent:#2e6452}.agentboard-eyebrow{color:var(--accent);margin-bottom:.8rem}.agentboard-actions{margin-top:1.6rem}.agentboard-version{max-width:78ch;margin-top:1.2rem;font:.7rem/1.7 var(--font-mono);color:var(--ink-3)}.agentboard-flow{margin:1.5rem 0;border-top:1px solid var(--rule-strong)}.agentboard-flow details{border-bottom:1px solid var(--rule)}.agentboard-flow summary{cursor:pointer;display:flex;align-items:baseline;gap:1rem;list-style:none;padding:1.1rem 0;font-weight:500;letter-spacing:-.02em}.agentboard-flow summary::-webkit-details-marker{display:none}.agentboard-flow summary::after{content:'+';margin-left:auto;color:var(--accent);font-size:1.2rem}.agentboard-flow details[open] summary::after{content:'−'}.agentboard-step{font:.65rem var(--font-mono);color:var(--accent);flex:0 0 1.2rem}.agentboard-flow details p{padding:0 1rem 1.25rem 2.2rem;font-size:.9rem}.agentboard-flow details[open]{background:#e8ece2}.agentboard-flow details[open] summary{padding-inline:1rem}.agentboard-flow details[open] p{padding-left:3.2rem}.agentboard-flow summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.agentboard-aside{font-size:.82rem;color:var(--ink-3)!important}.agentboard-source{margin-top:2rem;padding:1.5rem;border:1px solid var(--rule);background:#e8ece2}.agentboard-source>.eyebrow{color:var(--accent);margin-bottom:.6rem}.agentboard-source .card__link{margin-top:1.2rem}.agentboard-case .figure img{border-radius:5px}.agentboard-case .button-primary{background:#2e6452}.agentboard-case .button-primary:hover{background:#234f41}
@media(max-width:640px){.agentboard-version{font-size:.65rem}.agentboard-flow summary{gap:.7rem;font-size:.95rem}.agentboard-flow details[open] p{padding-left:2.9rem}.agentboard-source{padding:1.15rem}}
@media print{.agentboard-flow details p{display:block!important}.agentboard-flow summary::after{display:none}}
.agentboard-card-links{display:flex;justify-content:space-between;gap:1rem;margin-top:auto}.home .project-deck .agentboard-card-links .card__link{margin-top:0}
