/* Work expands inside its stack; the Lab uses compact thumbnails and right drawers. */
.portfolio-v5 .lab-story [hidden]{display:none!important}
.portfolio-v5 .lab-story{scroll-margin-top:92px}
.portfolio-v5 .work-section.lab-is-reading .lab-story{position:relative;top:auto;transform:none;--stack-shade:0!important}
.portfolio-v5 .work-section.lab-is-reading .lab-story::after{opacity:0}
.portfolio-v5 .lab-story.is-reading{display:block;height:auto;min-height:0;overflow:hidden;box-shadow:0 28px 70px -36px rgba(16,38,26,.28);border-color:var(--verde)}
.lab-reader{min-width:0}
.lab-reader button,.lab-reader a{-webkit-tap-highlight-color:transparent}
.lab-reader button{font-family:var(--font);cursor:pointer}
.lab-reader :is(button,a,[tabindex]):focus-visible{outline:2px solid var(--verde);outline-offset:5px}
.lab-reader-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.lab-reader-header>div{display:flex;align-items:baseline;gap:20px;min-width:0}
.lab-reader-number{font:11px var(--mono);color:var(--tinta-3);white-space:nowrap}
.lab-reader-header h3{font:600 clamp(24px,2.6vw,34px)/1.15 'Archivo',var(--font);letter-spacing:-.035em;margin:0}
.lab-close{display:flex;align-items:center;gap:15px;flex:none;border:1px solid var(--linha-forte);border-radius:30px;background:transparent;color:var(--tinta-2);padding:10px 16px;font-size:12px;transition:background .2s,color .2s}
.lab-close>span:last-child{font-size:22px;line-height:1}
.lab-close:hover{background:var(--papel-2);color:var(--tinta)}
.lab-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px}
.lab-steps button{position:relative;display:flex;gap:10px;align-items:center;background:none;border:0;border-bottom:2px solid var(--linha);padding:14px 0;color:var(--tinta-3);font-size:13px;text-align:left;transition:color .25s}
.lab-steps button::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--verde);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.lab-steps button[aria-selected=true]{color:var(--verde)}
.lab-steps button[aria-selected=true]::after{transform:scaleX(1)}
.lab-step-number{font:10px var(--mono);opacity:.7}
.lab-reader-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr);gap:40px;align-items:start}
.lab-step-content{padding:12px 0 0;min-width:0}
.lab-step-content h4{font:600 clamp(22px,2.1vw,29px)/1.17 'Archivo',var(--font);letter-spacing:-.03em;margin:0 0 18px;text-wrap:balance}
.lab-step-content p{font-size:14px;line-height:1.8;color:var(--tinta-2);margin:0}
.lab-decision{margin-top:24px;padding-top:20px;border-top:1px solid var(--linha)}
.lab-decision h5{font:600 12px/1.5 var(--font);color:var(--verde);margin:0 0 7px}
.lab-decision p{font-size:12px;line-height:1.75}
.lab-project-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.lab-project-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 14px;border-radius:6px;border:1px solid var(--linha-forte);font-size:12px;text-decoration:none;color:var(--verde);transition:background .2s}
.lab-project-links a:hover{background:var(--papel-2)}
.lab-gallery{min-width:0}
.lab-viewer{display:grid;place-items:center;position:relative;aspect-ratio:1.55;margin:0;background:var(--papel-2);border:1px solid var(--linha);border-radius:8px;overflow:hidden}
.lab-viewer.lab-viewer-dark{background:#090c10}
.lab-viewer img{display:block;width:100%;height:100%;object-fit:contain;grid-area:1/1;min-height:0;min-width:0;max-height:420px}
.lab-thumbnails{display:flex;gap:12px;margin-top:14px}
.lab-thumbnails button{position:relative;display:flex;flex-direction:column;gap:7px;align-items:flex-start;flex:1;max-width:160px;min-width:0;padding:0;background:none;border:0;color:var(--tinta-3);font-size:10px;text-align:left;line-height:1.4;transition:color .2s}
.lab-thumbnails button>img{width:100%;height:58px;object-fit:cover;object-position:center;border-radius:4px;border:2px solid transparent;padding:3px;transition:border-color .25s,transform .35s}
.lab-thumbnails button[aria-pressed=true]{color:var(--verde)}
.lab-thumbnails button[aria-pressed=true]>img{border-color:var(--verde)}
.lab-thumbnails button:hover>img{transform:translateY(-3px)}
.lab-reader-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;margin-top:30px;border-top:1px solid var(--linha)}
.lab-full-case{display:flex;gap:16px;color:var(--tinta-2);font-size:12px;text-decoration:none}
.lab-full-case:hover{color:var(--verde)}
.lab-reader-controls{display:flex;align-items:center;gap:16px}
.lab-step-count{font:10px var(--mono);color:var(--tinta-3);white-space:nowrap}
.lab-previous{height:36px;width:36px;border-radius:50%;border:1px solid var(--linha-forte);background:none;color:var(--verde)}
.lab-previous:disabled{opacity:.35;cursor:default}
.lab-next{display:flex;justify-content:space-between;gap:24px;align-items:center;min-width:175px;padding:13px 16px;border:0;border-radius:6px;background:var(--verde);color:var(--papel-1);font-size:12px;transition:filter .2s}
.lab-next:hover{filter:brightness(1.12)}
@media(max-width:800px){
 .portfolio-v5 .lab-story.is-reading{padding:24px}
 .lab-reader-header{align-items:flex-start;margin-bottom:14px}
 .lab-reader-header>div{display:block}.lab-reader-number{display:block;margin-bottom:8px}
 .lab-reader-header h3{font-size:24px}.lab-close{padding:8px 12px}
 .lab-reader-body{grid-template-columns:1fr;gap:26px}.lab-step-content{padding:0}
 .lab-steps{gap:12px;margin-bottom:24px}.lab-steps button{font-size:11px;gap:6px}
 .lab-step-content h4{font-size:25px}.lab-step-content p{font-size:13px}
 .lab-decision{margin-top:18px;padding-top:16px}.lab-viewer{aspect-ratio:1.5}
 .lab-reader-footer{flex-wrap:wrap;gap:24px}.lab-reader-controls{margin-left:auto;gap:10px}
 .lab-next{min-width:150px;gap:12px}.lab-thumbnails button>img{height:52px}
}
@media(max-width:420px){
 .portfolio-v5 .lab-story.is-reading{padding:20px}
 .lab-reader-header{gap:12px}.lab-reader-header h3{font-size:22px}
 .lab-close{font-size:10px;gap:8px}.lab-steps{gap:8px}.lab-step-number{display:none}
 .lab-reader-controls{width:100%;justify-content:space-between}.lab-next{min-width:160px}
 .lab-thumbnails{gap:8px}
}
@media(prefers-reduced-motion:reduce){.lab-reader *{animation:none!important;transition:none!important}}

html:has(.lab-is-reading){overflow-anchor:none}
.lab-reader .lab-steps{scroll-margin-top:92px}
/* Work now owns the stacked cards and the inline reading experience. */
.portfolio-v5 .work-stack{display:block}
.portfolio-v5 .work-story .meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.portfolio-v5 .work-story .lab-story-copy h3{font:600 clamp(24px,2.5vw,32px)/1.16 'Archivo',var(--font);letter-spacing:-.035em;margin:0 0 20px}
.portfolio-v5 .work-story .lab-story-copy p{font-size:14px;line-height:1.75}
.portfolio-v5 .work-stage{height:100%;min-height:360px;max-height:none}
.portfolio-v5 .work-reader-board{height:410px;border-radius:8px;overflow:hidden;width:100%}
.work-diagram-caption{font:10px/1.6 var(--mono);color:var(--tinta-3);margin:14px 0 0}
.work-research summary{font:600 12px/1.5 var(--font);color:var(--verde);cursor:pointer;display:flex;justify-content:space-between;gap:12px;list-style:none}
.work-research summary::-webkit-details-marker{display:none}
.work-research summary>span:last-child{transition:transform .25s;font-size:18px;line-height:1}
.work-research[open] summary>span:last-child{transform:rotate(45deg)}
.work-research p{padding-top:14px}
/* Compact thumbnail and copy pairs, with open space between experiments. */
.portfolio-v5 .lab-section{padding-block:90px 110px}
.lab-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 32px;padding-top:30px}
.lab-mini{display:grid;grid-template-columns:minmax(100px,.85fr) minmax(0,1.15fr);gap:20px;color:var(--tinta);text-decoration:none;align-items:stretch}
.lab-mini-image{height:190px;overflow:hidden;border-radius:3px;background:var(--papel-2);border:1px solid var(--linha)}
.lab-mini-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.lab-mini-brain{background:#090c10}.lab-mini-brain img{object-fit:cover;object-position:48% center}
.lab-mini-jbc{background:#900020}.lab-mini-jbc img{object-fit:contain}
.lab-mini:is(:hover,:focus-visible) img{transform:scale(1.06)}
.lab-mini:focus-visible{outline:2px solid var(--verde);outline-offset:8px}
.lab-mini-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.lab-mini h3{font:600 20px/1.16 'Archivo',var(--font);letter-spacing:-.03em;margin:0 0 12px}
.lab-mini p{font:13px/1.65 var(--font);color:var(--tinta-2);margin:0 0 22px}
.lab-mini .ler{margin-top:auto;font-size:11px;padding:0;gap:8px;color:var(--tinta-3)}
.lab-mini:hover .ler{color:var(--verde)}
/* The Lab keeps the existing native modal, with its sheet anchored on the right. */
.lab-drawer [hidden]{display:none!important}
.lab-drawer .case-folha{width:min(760px,100%)}
.lab-drawer-gallery{background:var(--papel-1);padding:64px 32px 24px;border-bottom:1px solid var(--linha)}
.lab-drawer-screen{display:grid;aspect-ratio:1.8;background:#0b0e10;border-radius:7px;overflow:hidden}
.lab-drawer-screen img{grid-area:1/1;width:100%;height:100%;object-fit:contain;min-height:0}
.lab-drawer-thumbs{display:flex;gap:12px;margin-top:16px}
.lab-drawer-thumbs button{display:flex;flex-direction:column;gap:6px;align-items:flex-start;width:110px;padding:0;border:0;background:none;color:var(--tinta-2);font:11px var(--font);cursor:pointer}
.lab-drawer-thumbs img{height:54px;width:100%;object-fit:cover;padding:3px;border:1px solid transparent;border-radius:4px}
.lab-drawer-thumbs [aria-pressed=true] img{border-color:var(--verde)}
.lab-drawer-thumbs [aria-pressed=true]{color:var(--verde)}
.lab-drawer .case-summary{padding:0;border:0}
.lab-drawer .case-summary>div{margin:0 0 24px}
.lab-drawer .case-depth{margin:28px 0;border-block:1px solid var(--linha)}
.lab-drawer .case-depth>summary{display:flex;justify-content:space-between;gap:18px;cursor:pointer;padding:20px 0;color:var(--verde);font-size:14px;list-style:none}
.lab-drawer .case-depth>summary::-webkit-details-marker{display:none}
.lab-drawer .case-depth .plus::after{content:'+';font-size:20px;line-height:1}
.lab-drawer .case-depth[open] .plus::after{content:'−'}
.lab-drawer .case-narrative{padding-bottom:20px}
.lab-drawer .lab-full-case{margin-top:28px}
.lab-drawer :is(a,button,summary):focus-visible{outline:2px solid var(--verde);outline-offset:4px}
@media(max-width:1100px) and (min-width:761px){.lab-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.lab-mini-image{height:200px}}
@media(max-width:800px){
 .portfolio-v5 .work-reader-board{height:300px}
 .portfolio-v5 .work-stage{min-height:280px;height:320px;aspect-ratio:auto}
}
@media(max-width:760px){
 .lab-mini-grid{grid-template-columns:1fr;gap:32px;padding-top:12px}
 .lab-mini{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:24px}
 .lab-mini-image{height:180px}.lab-mini h3{font-size:21px}.lab-mini p{font-size:13px}
 .lab-drawer-gallery{padding:64px 20px 20px}.lab-drawer-thumbs{gap:10px}
 .portfolio-v5 .work-reader-board{height:270px}
}
@media(prefers-reduced-motion:reduce){.lab-mini-image img{transition:none}.lab-mini:is(:hover,:focus-visible) img{transform:none}}
.motion-ready .lab-mini{transform:translateY(calc((1 - var(--entry,1)) * 24px));opacity:calc(.3 + var(--entry,1) * .7)}
@media(prefers-reduced-motion:reduce){.motion-ready .lab-mini{transform:none;opacity:1}}
/* Lab thumbnails are short screen recordings (animated WebP, 3:4, 2x). With reduced motion
   the <picture> serves a still frame instead. */
.lab-mini-image picture{display:block;width:100%;height:100%}
.lab-mini-image:is(.lab-mini-brain,.lab-mini-jbc,.lab-mini-mapa){background:var(--papel-1)}
.lab-mini-image:is(.lab-mini-brain,.lab-mini-jbc,.lab-mini-mapa) img{object-fit:cover;object-position:center top}
/* Thumbnails a touch larger and in the recordings' 3:4; corners match the rest of the site. */
.lab-mini{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.lab-mini-image{height:auto;aspect-ratio:3/4;border-radius:8px}
@media(max-width:760px){.lab-mini{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
/* Reading mode: one hierarchy, one progress indicator, two equal controls. */
.portfolio-v5 .lab-story.is-reading{padding:36px 40px;border-color:var(--linha-forte)}
.lab-reader-header{margin-bottom:24px;align-items:flex-start}
.lab-reader-header h3{font-size:clamp(23px,2.4vw,32px);max-width:28ch}
.lab-close{min-height:44px}
.lab-steps{gap:16px;margin-bottom:16px}
.lab-steps button{font:600 clamp(15px,1.4vw,18px)/1.3 'Archivo',var(--font);min-height:60px;color:var(--tinta-3)}
.lab-steps button[aria-selected=true]{color:var(--verde);background:var(--verde-ghost);padding-inline:12px;border-radius:5px 5px 0 0}
.lab-step-number{font-size:11px}
.work-nda-note{margin:0 0 28px;font:12px/1.6 var(--font);color:var(--tinta-3)}
.lab-reader-body{display:block;min-height:210px;max-width:780px}
.lab-step-content{padding-top:12px}
.lab-step-content h4{font-size:clamp(23px,2.6vw,32px);margin-bottom:18px}
.lab-step-content>p{font-size:clamp(15px,1.3vw,17px);line-height:1.75;max-width:68ch}
.lab-decision{max-width:68ch;margin-top:20px;padding-top:16px}
.lab-reader-footer{margin-top:28px;padding-top:20px}
.work-reader-links{display:flex;gap:24px;flex-wrap:wrap}
.lab-reader-controls{gap:12px;flex:none;margin-left:auto;width:auto}
.lab-reader-controls :is(.lab-previous,.lab-next){display:grid;place-items:center;width:56px;height:56px;min-width:56px;padding:0;border-radius:50%;border:1px solid var(--linha-forte);background:transparent;color:var(--verde);font:400 28px/1 var(--font);transition:background .2s,transform .2s}
.lab-reader-controls button:hover:not(:disabled){background:var(--verde-ghost);transform:translateY(-2px);filter:none}
.lab-reader-controls button:disabled{opacity:.3;cursor:default}
.lab-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;max-width:1000px}
@media(max-width:760px){.portfolio-v5 .lab-story.is-reading{padding:22px 20px}.lab-reader-header{gap:16px}.lab-reader-header h3{font-size:23px}.lab-close{padding:8px 12px}.lab-steps{gap:8px}.lab-steps button{font-size:14px;gap:6px}.lab-steps button[aria-selected=true]{padding-inline:6px}.lab-reader-body{min-height:260px}.lab-reader-footer{gap:20px}.lab-reader-controls :is(.lab-previous,.lab-next){width:52px;height:52px;min-width:52px}.work-reader-links{gap:14px}.lab-mini-grid{grid-template-columns:1fr}}
