/* Project-focused polish. Shared identity lives in studio-2026.css. */
.work-page{overflow-x:clip}.work-page a{color:inherit}.work-page button,.work-page input,.work-page select{font:inherit}.work-page [hidden]{display:none!important}.work-page .t-footer-top nav{display:flex;flex-wrap:wrap;gap:24px;font-size:14px}.work-page .t-footer-top>p{font-size:16px;margin:0}
.work-skip{position:fixed;top:10px;left:20px;transform:translateY(-200%);z-index:100;background:var(--t-ink);color:var(--t-paper)!important;padding:12px 20px}.work-skip:focus{transform:none}.work-page :focus-visible{outline:2px solid var(--t-ink);outline-offset:5px}.work-page button:active,.work-page .t-btn:active{transform:translateY(1px)}
.work-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:52px;align-items:end;padding-top:58px;padding-bottom:48px}.work-intro h1{font-size:clamp(48px,5.1vw,74px);font-weight:600;line-height:1.17;letter-spacing:-.03em;margin:0;text-wrap:balance}.work-intro-copy{padding-bottom:2px}.work-intro-copy p{font-size:16px;line-height:1.85;margin:0 0 16px;max-width:35em}.work-index-link{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:6px;font-size:14px}.work-index-link:hover{text-decoration-thickness:2px}
.work-selected{display:grid;grid-template-columns:1.15fr 1fr;gap:72px 52px;padding-bottom:84px}.work-feature{min-width:0}.work-feature-reddy{margin-top:94px}.work-feature-api{margin-top:86px}.work-feature-link{display:block;text-decoration:none}.work-cover{overflow:hidden;position:relative;background:#e5e7e1}.work-cover-media{aspect-ratio:1.45;overflow:hidden}.work-cover img{width:100%;height:100%;display:block;object-fit:cover;object-position:top;transition:transform .55s cubic-bezier(.16,1,.3,1)}.work-feature-link:hover img{transform:scale(1.025)}
.work-cover-open{position:absolute;top:16px;right:16px;width:44px;height:44px;display:grid;place-items:center;background:var(--t-paper);color:var(--t-ink);border-radius:50%;font-size:24px;opacity:0;transform:translate(-6px,6px);transition:opacity .2s,transform .2s}.work-feature-link:hover .work-cover-open,.work-feature-link:focus-visible .work-cover-open{opacity:1;transform:none}.work-cover-note{display:block;position:absolute;right:0;bottom:0;padding:8px 12px;background:var(--t-paper);font-size:12px;line-height:1.5;color:var(--t-muted)}
.work-feature-title{display:flex;align-items:baseline;justify-content:space-between;margin:20px 0 0;gap:16px}.work-feature-title h2{font-family:var(--t-display),var(--t-font);font-size:clamp(30px,3vw,44px);font-weight:600;line-height:1.2;letter-spacing:-.03em;margin:0}.work-feature-title>span{font-size:28px;transition:transform .2s}.work-feature-link:hover .work-feature-title>span{transform:translate(3px,-3px)}.work-feature-meta{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:12px;line-height:1.6;margin:5px 0 8px;color:var(--t-muted);min-height:44px}.work-feature-meta p{margin:0}.work-feature-meta a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.work-feature-description{font-size:16px;line-height:1.85;margin:0;color:var(--t-ink)}.work-deliverables{font-size:12px;line-height:1.8;margin:14px 0 0;color:var(--t-muted)}
.work-cover-api{background:#dce7c0}.work-api-art{aspect-ratio:1.35;display:flex;flex-direction:column;justify-content:space-between;padding:28px 28px 48px}.work-api-art-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.02em}.work-api-art-top span:first-child{font-weight:750}.work-api-type{font-size:clamp(32px,3.4vw,49px);font-weight:600;line-height:1.28;letter-spacing:-.03em;padding:25px 0}.work-api-flow{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #b5c19c;padding-top:18px;font-size:14px}.work-api-flow i{font-style:normal;color:#596442}
.work-archive{border-top:1px solid var(--t-line);padding-top:60px;padding-bottom:48px;scroll-margin-top:110px}.work-archive-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:38px}.work-archive-heading h2{font-size:clamp(32px,4vw,54px);font-weight:600;line-height:1.22;letter-spacing:-.03em;margin:0;text-wrap:balance}.work-archive-heading>p{font-size:16px;line-height:1.85;color:var(--t-muted);margin:0 0 3px}
.work-filter-form{display:grid;grid-template-columns:1.5fr 1fr 1.2fr auto;gap:24px;align-items:end;margin-bottom:36px}.work-filter-form label{display:grid;gap:10px;min-width:0}.work-filter-form label>span{font-size:12px;color:var(--t-muted)}.work-filter-form input,.work-filter-form select{width:100%;min-width:0;height:48px;border:0;border-bottom:1px solid var(--t-ink);border-radius:0;padding:0 0 8px;outline-offset:3px;background:transparent;color:var(--t-ink);font-size:16px;caret-color:var(--t-ink)}.work-filter-form input::placeholder{color:var(--t-muted);opacity:1}.work-filter-form select{padding-right:20px}.work-filter-form>button{cursor:pointer;display:flex;align-items:center;gap:20px;min-height:48px;border:0;border-bottom:1px solid var(--t-line);padding:0 8px 8px;background:none;font-size:14px;color:var(--t-muted)}.work-filter-form>button:hover{color:var(--t-ink);border-color:var(--t-ink)}
.work-archive-labels{display:grid;grid-template-columns:1fr 190px 100px;gap:24px;font-size:12px;color:var(--t-muted);padding-bottom:15px}.work-archive-labels>span:last-child{text-align:right}.work-archive-labels b{font-weight:500;font-variant-numeric:tabular-nums}.work-archive-list .case-card{display:grid;grid-template-columns:minmax(0,1fr) 190px 100px;column-gap:24px;align-items:center;position:relative;border-top:1px solid var(--t-line);padding:23px 0;cursor:pointer;transition:background .2s}.work-archive-list .case-card:last-child{border-bottom:1px solid var(--t-line)}.work-archive-list .case-card:hover{background:#edeee7}.work-archive-list .case-card h3{grid-column:1;grid-row:1;font-size:17px;font-weight:500;line-height:1.6;letter-spacing:-.01em;margin:0}.work-archive-list .case-tags{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px;color:var(--t-muted);font-size:12px;line-height:1.7}.work-archive-list .case-card-header{grid-column:2;grid-row:1/3;font-size:12px;line-height:1.6;color:var(--t-muted)}.work-archive-list .case-footer{grid-column:3;grid-row:1/3;text-align:right;font-size:14px}.work-archive-list .case-open{font-size:14px;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}
.work-archive-list .case-card-artifact,.work-archive-list .case-card-placeholder,.work-archive-list .case-icon,.work-archive-list .case-summary,.work-archive-list .case-proof,.work-archive-list .case-footer>span:first-child{display:none}.work-archive-list .case-empty{margin:0;border-block:1px solid var(--t-line);padding:36px 0;font-size:16px;color:var(--t-muted)}.case-empty p{margin:0 0 16px}.case-empty button{min-height:44px;border:0;padding:10px 18px;background:var(--t-ink);color:var(--t-paper);cursor:pointer;border-radius:24px}.case-empty button:hover{background:#3a4130}.work-evidence-note{font-size:12px;color:var(--t-muted);line-height:1.85;margin:22px 0 0}.work-no-script{padding:25px 0}
.work-invitation{margin-top:42px;padding-top:56px;padding-bottom:80px;border-top:1px solid var(--t-line)}.work-invitation h2{font-size:clamp(36px,4.5vw,64px);font-weight:550;line-height:1.25;letter-spacing:-.03em;margin:0 0 28px;text-wrap:balance}
/* Native dialog keeps focus in a case and restores the previous archive position. */
.case-is-open{overflow:hidden}.case-dialog{position:fixed;max-width:none;width:min(1020px,calc(100vw - 48px));max-height:calc(100dvh - 48px);padding:0;border:0;margin:auto;border-radius:0;background:var(--t-paper);color:var(--t-ink);overflow:auto;overscroll-behavior:contain;font-family:var(--t-font);scrollbar-color:var(--t-muted) var(--t-paper);scrollbar-width:thin}.case-dialog::backdrop{background:rgb(20 24 17 / .58)}.dialog-close{position:sticky;float:right;top:16px;margin:16px 16px -60px 0;z-index:2;border:1px solid var(--t-line);border-radius:24px;background:var(--t-paper);color:var(--t-ink);min-width:64px;min-height:44px;padding:8px 16px;cursor:pointer;font-size:14px!important;line-height:1}.dialog-close:hover{background:var(--t-accent);border-color:var(--t-accent)}.dialog-body{padding:44px 48px 40px}.dialog-body>h2{font-size:clamp(27px,3vw,40px);line-height:1.35;font-weight:600;letter-spacing:-.03em;margin:0 58px 16px 0;text-wrap:balance}.dialog-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px;line-height:1.7;color:var(--t-muted)}.dialog-summary{font-size:16px;line-height:1.85;color:var(--t-ink);margin:16px 0 14px;max-width:68ch}.dialog-list{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:7px 20px;font-size:12px;color:var(--t-muted);margin:0 0 16px;line-height:1.8}.dialog-list li{border-bottom:1px solid var(--t-line);padding-bottom:4px}.dialog-footer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:0 0 26px}.dialog-footer-actions a,.dialog-footer-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:none;border:0;color:var(--t-ink);padding:9px 0;text-decoration:underline;text-underline-offset:5px;font-size:14px;cursor:pointer}.dialog-footer-actions .dialog-contact{background:var(--t-ink);color:var(--t-paper);border-radius:24px;text-decoration:none;padding:10px 20px}.dialog-footer-actions .dialog-contact:hover{background:#3a4130}
.case-artifacts{margin:0 0 32px}.case-artifact-grid{display:grid;grid-template-columns:1fr;gap:28px}.case-artifact-image{display:flex;flex-direction:column;margin:0;min-width:0}.artifact-original{display:block;text-decoration:none}.artifact-image-wrap{position:relative;background:#e9ece1}.artifact-image-wrap img{display:block;width:100%;height:auto}.artifact-original:hover .artifact-original-label{text-decoration-thickness:2px}.case-artifact-image figcaption{order:-1;display:flex;align-items:start;justify-content:space-between;gap:20px;font-size:12px;color:var(--t-ink);line-height:1.7;margin:0 0 12px}.case-artifact-image figcaption small{display:block;color:var(--t-muted);font-size:12px;margin-top:3px}.artifact-original-label{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;text-decoration:underline;text-underline-offset:5px}.case-artifact-note,.case-no-material{font-size:12px;line-height:1.9;color:var(--t-muted);margin:22px 0 0;max-width:75ch}.case-artifact-note>b{font-weight:600;color:var(--t-ink);margin-right:12px}.case-no-material{font-size:16px;border-block:1px solid var(--t-line);padding:24px 0}.case-artifact-generated{display:none}
.case-process-disclosure{border-top:1px solid var(--t-line)}.case-process-disclosure>summary{min-height:56px;cursor:pointer;padding:17px 0;font-size:16px;font-weight:600;list-style-position:inside}.case-process-disclosure>summary:hover{text-decoration:underline;text-underline-offset:5px}.case-detail-copy{font-size:16px;line-height:1.85;max-width:70ch;margin:8px 0 26px;color:var(--t-muted)}.case-story{margin-top:24px;border-top:1px solid var(--t-line);padding-top:24px}.case-story-head>span,.case-human-process>span,.tommy-note>b{font-size:16px;font-weight:600}.case-story-head>p{font-size:16px;color:var(--t-muted);line-height:1.85}.case-story-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:32px;margin-top:24px}.case-story-phase{padding:18px 0;border-top:1px solid var(--t-line)}.case-story-phase b{font-size:16px;font-weight:600}.case-story-phase p,.case-story-aside p,.case-story-aside li{font-size:16px;line-height:1.85;margin:8px 0 0;color:var(--t-muted)}.case-story-aside{padding:20px 24px;background:#e9ece1;align-self:start}.case-story-aside span{font-size:14px;font-weight:600}.case-story-aside ul{padding-left:18px}.case-story-decision{border-top:1px solid #c9cebe;padding-top:20px;margin-top:25px}.case-human-process{margin:28px 0;padding-top:24px;border-top:1px solid var(--t-line)}.case-human-process p{font-size:16px;line-height:1.85;color:var(--t-muted)}.tommy-note{display:grid;gap:12px;border-top:1px solid var(--t-line);padding-top:24px;margin-top:28px}.tommy-note span{font-size:16px;line-height:1.85;color:var(--t-muted)}.dialog-proof{font-size:16px;line-height:1.85;margin:24px 0 0;padding:20px 24px;background:#e9ece1}
@media(max-width:1000px){.work-intro{gap:30px}.work-selected{gap:64px 30px}.work-feature-reddy{margin-top:75px}.work-feature-api{margin-top:70px}.work-api-art{padding:24px 24px 44px}.work-api-type{padding:24px 0}.work-archive-list .case-card{grid-template-columns:minmax(0,1fr) 145px 76px;gap:14px}.work-archive-labels{grid-template-columns:1fr 145px 76px;gap:14px}}
@media(max-width:700px){
.work-intro{grid-template-columns:1fr;gap:24px;padding-top:36px;padding-bottom:30px}.work-intro h1{font-size:clamp(46px,11vw,64px)}.work-intro-copy p{font-size:16px;margin-bottom:8px}.work-index-link{font-size:14px}.work-selected{grid-template-columns:1fr;gap:46px;padding-bottom:56px}.work-feature-reddy,.work-feature-api{margin-top:0}.work-feature-title h2{font-size:34px}.work-feature-title{margin-top:17px}.work-cover-media{aspect-ratio:1.45}.work-cover-open{opacity:1;transform:none;top:10px;right:10px}.work-cover-note{font-size:12px;padding:7px 10px}.work-feature-meta{margin:2px 0 8px;gap:10px}.work-feature-description{font-size:16px}.work-deliverables{margin-top:12px}.work-api-art{aspect-ratio:1.3;padding:24px 24px 44px}.work-api-type{font-size:clamp(33px,8.5vw,48px);padding:26px 0}
.work-archive{padding-top:42px;padding-bottom:32px}.work-archive-heading{display:block;margin-bottom:30px}.work-archive-heading>p{margin-top:20px;font-size:16px}.work-filter-form{grid-template-columns:1fr 1fr;gap:20px 16px;margin-bottom:28px}.work-search{grid-column:1/-1}.work-filter-form>button{grid-column:2;justify-self:end;min-width:76px}.work-archive-labels{display:flex;justify-content:space-between}.work-archive-labels>span:nth-child(2){display:none}.work-archive-list .case-card{grid-template-columns:minmax(0,1fr);padding:22px 0;gap:0}.work-archive-list .case-card h3{font-size:17px;grid-column:1;grid-row:1}.work-archive-list .case-tags{grid-column:1;grid-row:2;font-size:12px;gap:4px 12px}.work-archive-list .case-card-header{grid-column:1;grid-row:3;font-size:12px;margin-top:10px}.work-archive-list .case-footer{grid-column:1;grid-row:4;text-align:left;margin-top:12px}.work-invitation{margin-top:24px;padding-top:42px;padding-bottom:56px}.work-invitation h2{font-size:36px;margin-bottom:26px}
.case-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.dialog-close{top:10px;margin:10px 10px -54px 0}.dialog-body{padding:68px 20px 28px}.dialog-body>h2{font-size:27px;margin-right:0}.dialog-summary{font-size:16px}.dialog-footer-actions{gap:12px 18px;margin-bottom:22px}.dialog-footer-actions a,.dialog-footer-actions button{font-size:14px}.case-story-layout{grid-template-columns:1fr;gap:20px}.case-story-aside{padding:20px}.case-artifact-grid{gap:22px}.case-artifact-image figcaption{gap:12px}.dialog-proof{padding:18px}
}
@media(prefers-reduced-motion:reduce){.work-page *,.work-page *::before,.work-page *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.work-page .work-nav-contact{display:none}@media(max-width:600px){.work-page .t-nav-inner{position:relative}.work-page .t-links[data-site-nav]{display:none}.work-page .t-menu{margin-left:auto;font-size:14px;min-width:44px;min-height:44px}.work-page .work-nav-contact{display:block}.work-page .t-links[data-open="true"]{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:calc(100% + 1px);left:0;right:0;padding:16px 20px;background:var(--t-paper);border-bottom:1px solid var(--t-line);z-index:30;gap:0}.work-page .t-links[data-open="true"] a{padding:15px 0}}
